plugins/elements/gstqueue.c: Don't forget to signal the _chain or _loop function...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-05-11  Wim Taymans  <wim@fluendo.com>
2
3         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
4         (gst_queue_set_property):
5         Don't forget to signal the _chain or _loop function 
6         when the queue size or thresholds change since that might
7         cause them to make progres again.
8
9 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
10
11         * gst/gstclock.c: (gst_clock_class_init):
12         * gst/gstindex.c: (gst_index_class_init):
13         * gst/gstobject.c: (gst_object_class_init):
14         * gst/gstpad.c: (gst_pad_class_init):
15         * gst/gstpipeline.c: (gst_pipeline_class_init):
16         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
17         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
18         * libs/gst/base/gstbasetransform.c:
19         (gst_base_transform_class_init):
20         * libs/gst/net/gstnetclientclock.c:
21         (gst_net_client_clock_class_init):
22         * libs/gst/net/gstnettimeprovider.c:
23         (gst_net_time_provider_class_init):
24         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
25         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
26         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
27         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
28         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
29         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
30         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
31         * plugins/elements/gstidentity.c: (gst_identity_class_init):
32         * plugins/elements/gsttee.c: (gst_tee_class_init):
33         * tests/old/examples/plugins/example.c: (gst_example_class_init):
34         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
35           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
36
37 2006-05-11  Wim Taymans  <wim@fluendo.com>
38
39         * gst/gstbuffer.c: (_gst_buffer_initialize):
40         Register subbufer along with the buffer type so that
41         it does not accidentally gets registered from N
42         different streaming threads in a non threadsafe way.
43
44 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
45
46         * gst/gstbuffer.h:
47         * gst/gstevent.h:
48         * gst/gstmessage.h:
49           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
50           gst_event_ref() and gst_message_ref() functions again
51           (ugly hack, please do fix if there's a better way besides
52           overrides.txt, which doesn't seem to work).
53
54 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
55
56         * libs/gst/check/gstcheck.h:
57           add an assert for setting state to avoid lots of repetitive code
58           in the future
59
60 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
61
62         * gst/gstvalue.c: (gst_value_serialize_flags):
63           fix a leak if no flags are set
64         * tests/check/gst/gstvalue.c: (GST_START_TEST):
65           fix leak in tests
66
67 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
68
69         * docs/manual/basics-pads.xml:
70           Expand a bit on caps and filtered links and update
71           examples that were still using the no longer existing
72           gst_pad_link_filtered() (#338206).
73
74 2006-05-10  Wim Taymans  <wim@fluendo.com>
75
76         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
77         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
78         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
79         (gst_collect_pads_stop):
80         * libs/gst/base/gstcollectpads.h:
81         No need to call _stop in _finalize.
82         Iterate the main pad list in _finalize.
83         Added some more debug.
84         Free lists and data in the right order.
85         Also free data whem doing _remove_pad when stopped for
86         backward compatibility protect ::started with PAD_LOCK as
87         well.
88
89 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
90
91         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
92         (gst_structure_parse_value):
93           add some comments
94           rename a method so that it actually says what it does better
95
96 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
97
98         * gst/gstevent.c: (_gst_event_initialize):
99         * gst/gstformat.c: (_gst_format_initialize):
100           make sure some essential types used by events are registered
101           as part of gst_init()
102         * gst/gstvalue.c: (gst_value_serialize_flags):
103           if no flags are set, serialize them to a value that represents NONE
104           so that deserializing them works
105         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
106           add tests for serialization and deserialization of flags
107
108 2006-05-10  Wim Taymans  <wim@fluendo.com>
109
110         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
111         (gst_collect_pads_collect_range), (gst_collect_pads_available),
112         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
113         (gst_collect_pads_event), (gst_collect_pads_chain):
114         Update docs.
115         Better debug info.
116         Catch and return errors from the collect function
117         Refuse data on eos pads.
118
119 2006-05-10  Edward Hervey  <edward@fluendo.com>
120
121         * gst/gstinterface.h:
122         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
123         GInterface type checking.
124         They were previously using non-defined macros.
125
126 2006-05-09  Wim Taymans  <wim@fluendo.com>
127
128         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
129         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
130         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
131         (gst_collect_pads_start), (gst_collect_pads_stop),
132         (gst_collect_pads_peek), (gst_collect_pads_pop),
133         (gst_collect_pads_available), (gst_collect_pads_read),
134         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
135         (gst_collect_pads_is_collected), (gst_collect_pads_event),
136         (gst_collect_pads_chain):
137         * libs/gst/base/gstcollectpads.h:
138         Clean up the mess that is collectpads, add comments and
139         FIXMEs where needed.
140         Maintain a separate pad list so we can add pads while
141         collecting the other ones. For this we need a new separate 
142         lock (see comics).
143         Fix memory leak in finalize.
144         Refactor some weird code to set/unset pad flushing flags, mark
145         with comments.
146         Don't crash in _available, _read, _flush when we're EOS.
147
148         * tests/check/libs/.cvsignore:
149         Ignore adapter check binary.
150
151 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
152
153         * gst/gstindex.c: (gst_index_resolver_get_type):
154         * plugins/elements/gstfakesink.c:
155         (gst_fake_sink_state_error_get_type):
156         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
157         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
158         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
159           Const-ify GEnumValue arrays.
160
161 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
162
163         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
164           Add test case for flags + gst_buffer_make_metadata_writable().
165
166 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
167
168         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
169           gst_buffer_make_metadata_writable() should maintain the
170           buffer flags (those that make sense at least) (see #340859).
171
172 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
173
174         * tools/gst-inspect.c:
175         * tools/gst-launch.c:
176         * tools/gst-typefind.c:
177         * tools/gst-xmlinspect.c:
178         * tools/tools.h:
179           Fix up includes: need to include stdlib.h in tools.h for exit().
180
181 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
182
183         * gst/gsttaglist.c: (_gst_tag_initialize):
184         * gst/gsttaglist.h:
185           API: add GST_TAG_IMAGE tag (#340721).
186
187 2006-05-08  Wim Taymans  <wim@fluendo.com>
188
189         * gst/gstquery.c:
190         Added some docs for the segment query.
191
192 2006-05-08  Wim Taymans  <wim@fluendo.com>
193
194         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
195         (gst_base_src_loop), (gst_base_src_change_state):
196         Always push non-flushing serialized events in the streaming 
197         thread.
198
199 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
200
201         * gst/gsterror.c: (_gst_stream_errors_init):
202           Add a missing error string.
203
204 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
205
206         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
207         Add applied_rate to the debug
208
209         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
210         Copy applied_rate into the outgoing NEWSEGMENT event
211
212 2006-05-08  Wim Taymans  <wim@fluendo.com>
213
214         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
215
216         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
217         (gst_base_sink_change_state):
218         call ::unlock before taking the PREROLL_LOCK so we can safely
219         handle elements that lock in ::render.
220         Fixes #340174.
221
222 2006-05-08  Edward Hervey  <edward@fluendo.com>
223
224         * autogen.sh: (CONFIGURE_DEF_OPT): 
225         Darwin's libtoolize is in fact called glibtoolize.
226         Adding glibtoolize to the list of accepted names for libtoolize.
227
228 2006-05-08  Wim Taymans  <wim@fluendo.com>
229
230         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
231         Unify error handling, don't post an error message
232         when a push() returns EOS but perform our normal EOS
233         handling code. Fixes #340772.
234
235 2006-05-08  Wim Taymans  <wim@fluendo.com>
236
237         * docs/design/part-overview.txt:
238         Make upsteam/downstream concepts more clear.
239         Give an example of serialized/non-serialized events.
240
241         * docs/design/part-events.txt:
242         * docs/design/part-streams.txt:
243         Mention applied_rate.
244
245         * docs/design/part-trickmodes.txt:
246         Mention applied rate, flesh out some more use cases.
247
248         * gst/gstevent.c: (gst_event_new_new_segment),
249         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
250         (gst_event_parse_new_segment_full), (gst_event_new_tag),
251         (gst_event_parse_tag), (gst_event_new_buffer_size),
252         (gst_event_parse_buffer_size), (gst_event_new_qos),
253         (gst_event_parse_qos), (gst_event_parse_seek),
254         (gst_event_new_navigation):
255         * gst/gstevent.h:
256         Add applied_rate field to NEWSEGMENT event.
257         API: gst_event_new_new_segment_full()
258         API: gst_event_parse_new_segment_full()
259
260         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
261         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
262         (gst_segment_to_stream_time), (gst_segment_to_running_time):
263         * gst/gstsegment.h:
264         Add applied_rate to GstSegment structure.
265         Make calculation of stream_time and running_time more correct
266         wrt rate/applied_rate.
267         Add some more docs.
268         API: GstSegment::applied_rate field
269         API: gst_segment_set_newsegment_full();
270
271         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
272         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
273         * libs/gst/base/gstbasetransform.c:
274         (gst_base_transform_sink_eventfunc),
275         (gst_base_transform_handle_buffer):
276         Parse and use applied_rate in the GstSegment field.
277
278         * tests/check/gst/gstevent.c: (GST_START_TEST):
279         Add check for applied_rate field.
280
281         * tests/check/gst/gstsegment.c: (GST_START_TEST),
282         (gstsegments_suite):
283         Add more checks for various GstSegment operations.
284
285 2006-05-08  Wim Taymans  <wim@fluendo.com>
286
287         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
288         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
289         (gst_base_sink_get_position), (gst_base_sink_change_state):
290         Store the sync time of the buffer end position separatly in a
291         new variable eos_rtime so we can properly sync the EOS event.
292         Fixes #340697.
293         Fix the docs for gst_base_sink_set_qos_enabled().
294         Don't set segment start to invalid value when we receive a 
295         non TIME newsegment.
296         get closer to handling position reporting for negative rates 
297         correctly.
298
299 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
300
301         * gst/gstcaps.c:
302         Docs about how to print caps for debug purposes.
303
304         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
305         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
306
307 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
308
309         * gst/gstelement.c:
310           use full enum names and preprend a '%' in docs strings to make recent 
311           gtk-doc turn that into a link
312
313 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
314
315         * docs/manual/basics-bins.xml:
316         * docs/manual/basics-bus.xml:
317         * docs/manual/basics-pads.xml:
318           Some typo fixes, some additions, some clarifications. 
319
320 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
321
322         * tools/gst-inspect.c: (main):
323         * tools/gst-launch.c: (main):
324         * tools/gst-run.c: (main):
325         * tools/gst-typefind.c: (main):
326         * tools/gst-xmlinspect.c: (main):
327           Use the string passed to g_option_context_new() for
328           what it's intended for - the program name is already
329           printed elsewhere.
330
331 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
332
333         * tools/Makefile.am:
334         * tools/gst-inspect.c: (main):
335         * tools/gst-launch.c: (main):
336         * tools/gst-xmlinspect.c: (main):
337         * tools/tools.h:
338           Add back --version command line option (#340460).
339
340         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
341           Add --version option and use GOption for argument parsing; refactor a
342           bit; accept directories as arguments and recurse into them; lastly,
343           print a decent error message when things go wrong.
344
345 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
346
347         * docs/manual/basics-bins.xml:
348         Don't mention GstThread (#340611)
349         * docs/manual/basics-elements.xml:
350         Update link to GObject tutorial (#340607)
351         
352 2006-05-05  Wim Taymans  <wim@fluendo.com>
353
354         * gst/gstbuffer.h:
355         * gst/gstminiobject.c:
356         Add note about refcounting and miniobject/buffer writeability
357         to docs. Fixes #340604
358
359         * gst/gstelementfactory.h:
360         Added some explanation about @klass.
361
362 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
363
364         * docs/manual/intro-motivation.xml:
365         * docs/manual/manual.xml:
366         Avoid CORBA & Bonobo references (#340598)
367
368 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
369
370         * docs/manual/basics-bus.xml:
371         * docs/manual/basics-pads.xml:
372         Fix up some inaccuracies and omissions (#340609)
373         
374 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
375
376         * gst/gstghostpad.c:
377           Small typo in docs (#340625)
378
379 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
380
381         * gst/parse/Makefile.am:
382           Make 'make -j' proof (see #340698).
383
384 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
385
386         * configure.ac:
387           Require GLib-2.8 here as well.
388
389 2006-05-05  Wim Taymans  <wim@fluendo.com>
390
391         * gst/glib-compat.c:
392         * gst/gst.c: (init_pre):
393         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
394         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
395         (gst_object_dispatch_properties_changed):
396         * gst/gstobject.h:
397         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
398         * gst/gststructure.c: (gst_structure_set_valist):
399         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
400         Remove pre glib2.8 compatibility, fixes #340508
401
402 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
403
404         * gst/gsttaglist.h:
405           Mention type of tags in doc blurbs.
406
407 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
408
409         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
410         (gst_pad_configure_src), (gst_pad_push):
411         Restore acceptcaps checking behaviour now that good plugins have
412         been released.
413
414 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
415
416         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
417
418         * gst/gst.c:
419         * gst/gstbus.c:
420         * gst/gstclock.c:
421         * gst/gstevent.c:
422         * gst/gstformat.c:
423         * gst/gstmessage.c:
424         * gst/gstparse.c:
425         * gst/gstquery.c:
426         * gst/gstutils.c:
427         * gst/parse/Makefile.am:
428         * libs/gst/base/gstadapter.c:
429         * libs/gst/base/gstbasesrc.c:
430         * libs/gst/base/gstpushsrc.c:
431         * libs/gst/base/gsttypefindhelper.c:
432         * plugins/elements/gstfakesrc.c:
433         * plugins/elements/gstidentity.c:
434           Make sure gstprivate.h and/or config.h are
435           always included first, otherwise some of our
436           defines (like _FILE_OFFSET_BITS) might be
437           redefined in the system headers. Fixes build
438           on opensolaris (#340016).
439
440 2006-05-04  Wim Taymans  <wim@fluendo.com>
441
442         * docs/libs/gstreamer-libs-sections.txt:
443         API: addition: gst_adapter_take_buffer()
444         
445         * libs/gst/base/gstadapter.c: (gst_adapter_push),
446         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
447         (gst_adapter_available_fast):
448         * libs/gst/base/gstadapter.h:
449         Prepare for optimizing the hell out of this hugely inefficient
450         piece of code. 
451         Added gst_adapter_take_buffer() so we can at least start thinking
452         about subbuffering and merging.
453         Added some comments.
454
455         * tests/check/Makefile.am:
456         * tests/check/libs/adapter.c: (GST_START_TEST),
457         (gst_adapter_suite), (main):
458         Added GstAdapter check.
459
460 2006-05-04  Wim Taymans  <wim@fluendo.com>
461
462         * docs/design/part-overview.txt:
463         Fix some typos, add blurb about buffer flags.
464
465 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
466
467         * docs/libs/gstreamer-libs-sections.txt:
468           make sure GstBaseTransformClass shows up in the docs
469         * libs/gst/base/gstbasetransform.c:
470         * libs/gst/base/gstbasetransform.h:
471           move docs so gtk-doc picks it up now
472
473 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
474
475         * docs/libs/gstreamer-libs-sections.txt:
476           add missing symbols to docs
477
478 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
479
480         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
481           back out the newsegment handling change, see #340060 for ongoing
482           discussion
483
484 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
485
486         * tools/gst-run.c: (get_candidates), (main):
487           Fix wrong g_file_test() usage (see glib docs for why it doesn't
488           work); fix typo in error message. Fixes #340079.
489
490 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
491
492         * common/Makefile.am:
493         * docs/Makefile.am:
494         * docs/faq/Makefile.am:
495         * docs/gst/Makefile.am:
496         * docs/libs/Makefile.am:
497         * docs/manual/Makefile.am:
498         * docs/plugins/Makefile.am:
499         * docs/pwg/Makefile.am:
500         * docs/slides/Makefile.am:
501         * docs/upload.mak:
502         * common/upload.mak:
503           move upload.mak to common
504
505 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
506
507         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
508           add more asserts on refcounts
509           do more cleanup at end of tests
510           fix test leaks showing in FC5
511
512 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
513
514         * plugins/elements/gsttypefindelement.c:
515         (gst_type_find_element_handle_event):
516         reverted wrong change and reflowed code to avoid others falling into
517         this trap
518
519 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
520
521         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
522           fix changelog entry about last collectpads change,
523           add notes about proper fix
524
525 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
526
527         * gst/gst.c:
528         * gst/gstregistry.c: (gst_registry_scan_path_level),
529         (gst_registry_scan_path):
530         * gst/gstregistry.h:
531           only write out registry if it has changed, fixes #338339
532
533 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
534
535         * gst/gstbin.c:
536         * gst/gstpipeline.c:
537         * plugins/elements/gstcapsfilter.c:
538         * plugins/elements/gstfakesink.c:
539         * plugins/elements/gstfakesrc.c:
540         * plugins/elements/gstfdsink.c:
541         * plugins/elements/gstfdsrc.c:
542         * plugins/elements/gstfilesink.c:
543         * plugins/elements/gstfilesrc.c:
544         * plugins/elements/gstidentity.c:
545         * plugins/elements/gstqueue.c:
546         * plugins/elements/gsttee.c:
547         * plugins/elements/gsttypefindelement.c:
548         (gst_type_find_element_handle_event):
549           make GstElementDetails const
550
551 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
552
553         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
554         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
555         (gst_collect_pads_is_collected), (gst_collect_pads_event):
556           more detailed debug and formatting cleanup,
557           forward newsegments to src-pad (so that e.g. adder not eats them)
558
559 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
560
561         * gst/gstutils.c: (gst_element_link_pads):
562           cleanup double code
563
564 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
565
566         * libs/gst/controller/gstcontroller.c:
567         (gst_controller_sync_values):
568           some little tuning
569         * tests/check/libs/controller.c: (GST_START_TEST),
570         (gst_controller_suite):
571           a new test for live value handling
572
573 2006-04-28  Wim Taymans  <wim@fluendo.com>
574
575         * gst/gstutils.c: (push_and_ref):
576         Added some more docs.
577         Fix refcount issue whith gst_element_found_tags() helper 
578         function. Fixes #338335
579
580         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
581         Added testsuite for gst_element_found_tags().
582
583 2006-04-28  Michael Smith  <msmith@fluendo.com>
584
585         * gst/gstvalue.c: (gst_value_serialize_flags):
586           Avoid NULL dereference when trying to serialize flags containing
587           invalid values.
588
589 2006-04-28  Michael Smith  <msmith@fluendo.com>
590
591         * plugins/elements/gsttypefindelement.c:
592         (gst_type_find_element_handle_event):
593           If we get EOS before any data is accumulated, don't use
594           uninitialised local variables.
595
596 2006-04-28  Michael Smith  <msmith@fluendo.com>
597
598         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
599         (gst_dp_event_from_packet):
600           Fixes in reading/writing events over GDP (not currently used?) - 
601           dereferencing NULL events for unknown/invalid event types, memory
602           leak, and change g_warning to GST_WARNING.
603
604 2006-04-28  Wim Taymans  <wim@fluendo.com>
605
606         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
607         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
608         (gst_base_sink_get_position), (gst_base_sink_change_state):
609         When frame dropping is enabled, we should not ignore frames
610         without a duration.
611         Update some documentation.
612
613 2006-04-28  Wim Taymans  <wim@fluendo.com>
614
615         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
616         (gst_base_src_send_event), (gst_base_src_change_state):
617         Documentation updates.
618
619 2006-04-28  Wim Taymans  <wim@fluendo.com>
620
621         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
622         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
623         handle EAGAIN, EINTR and short writes correctly. Also clean
624         up some error cases, avoid a deadlock on bad file descriptors and
625         use GST_DEBUG_OBJECT.
626         Fixes #339843
627
628 2006-04-28  Wim Taymans  <wim@fluendo.com>
629
630         * gst/gstvalue.c: (gst_value_serialize_buffer),
631         (gst_value_deserialize_buffer):
632         Don't try to serialize a GValue with a NULL buffer. 
633         Fixes #339821.
634
635         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
636         Added check for serialisation of NULL buffers.
637
638 2006-04-28  Wim Taymans  <wim@fluendo.com>
639
640         * gst/gstminiobject.c: (gst_value_take_mini_object):
641         Taking a NULL miniobject is valid, fix the case where
642         we try to unref the NULL miniobject.
643
644 2006-04-28  Wim Taymans  <wim@fluendo.com>
645
646         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
647
648         * gst/gstbin.c: (gst_bin_handle_message_func):
649         Update docs.
650         Don't leak bin refcount when a state recalc is
651         in progress and we delay another one #339808.
652
653 2006-04-28  Wim Taymans  <wim@fluendo.com>
654
655         * docs/design/part-TODO.txt:
656         Mention QoS as an ongoing work item.
657
658         * docs/design/part-buffering.txt:
659         New doc about buffering that needs to be fleshed out
660         at some point.
661
662         * docs/design/part-qos.txt:
663         More QoS policy for decoders/demuxers/transforms
664
665         * docs/design/part-trickmodes.txt:
666         Small update.
667
668 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
669
670         * configure.ac:
671           back to HEAD
672
673 === release 0.10.5 ===
674
675 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
676
677         * configure.ac:
678           releasing 0.10.5, "Fogo"
679
680 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
681
682         patch by: Wim Taymans
683
684         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
685         (gst_pad_configure_src), (gst_pad_push):
686         * gst/gstpipeline.c: (gst_pipeline_init):
687           Fix internal data flow errors.  Fixes #338711.
688
689 2006-04-12  Wim Taymans  <wim@fluendo.com>
690
691         * tests/check/gst/gstelement.c: (GST_START_TEST):
692         Don't leak the factory.
693
694 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
695
696         * configure.ac:
697         * win32/common/config.h:
698           prerelease
699
700 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
701
702         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
703         (gst_controller_unset_all):
704           Free allocated GstTimedValues when freeing list nodes.
705           Should fix leaks 'make check-valgrind' complains about.
706
707         * win32/common/libgstcontroller.def:
708           Add gst_controller_unset_all.
709
710 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
711
712         * docs/libs/gstreamer-libs-sections.txt:
713         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
714         (gst_controller_unset_all):
715         * libs/gst/controller/gstcontroller.h:
716         API: Added new method gst_controller_unset_all()
717         fixed gst_controller_unset()
718         * tests/check/libs/controller.c: (GST_START_TEST),
719         (gst_controller_suite):
720         Added two testcases for new and fixed method
721
722 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
723
724         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
725           MSG_DONTWAIT is not defined on Cygwin, so work
726           around that (fixes #317048).
727           
728 2006-04-11  Wim Taymans  <wim@fluendo.com>
729
730         * gst/gstelementfactory.c: (gst_element_register),
731         (gst_element_factory_create), (gst_element_factory_make):
732         Some cleanups.
733         Fixed a FIXME.
734         Updated docs (Fixes #131079)
735
736         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
737         Small cleanups.
738
739         * tests/check/gst/gstelement.c: (GST_START_TEST),
740         (gst_element_suite):
741         Added testcase for elementfactory class field.
742
743 2006-04-10  Wim Taymans  <wim@fluendo.com>
744
745         * gst/gstsegment.c:
746         Added some more docs.
747
748         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
749         (gst_base_sink_reset_qos):
750         Calculate more accurate rate values.
751
752 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
753
754         * gst/gst_private.h:
755           add a new #ifdef to use __declspec(dllimport) only for
756           other modules and not for gstreamer core
757         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
758           use gst_guint64_to_gdouble for conversion
759         * win32/common/libgstreamer.def:
760           add new exported functions
761         * win32/vs6/gst_inspect.dsp:
762         * win32/vs6/gst_launch.dsp:
763         * win32/vs6/libgstbase.dsp:
764         * win32/vs6/libgstcontroller.dsp:
765         * win32/vs6/libgstcoreelements.dsp:
766         * win32/vs6/libgstdataprotocol.dsp:
767         * win32/vs6/libgstnet.dsp:
768           update project files
769
770 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
771
772         * gst/gstbuffer.c: (gst_subbuffer_class_init):
773         * gst/gstclock.c: (gst_clock_class_init):
774         * gst/gstelement.c: (gst_element_class_init):
775         * gst/gstindex.c: (gst_index_class_init):
776         * gst/gstindexfactory.c: (gst_index_factory_class_init):
777         * gst/gstobject.c: (gst_object_class_init),
778         (gst_signal_object_class_init):
779         * gst/gstpad.c: (gst_pad_class_init):
780         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
781         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
782         * gst/gstregistry.c: (gst_registry_class_init):
783         * gst/gstsystemclock.c: (gst_system_clock_class_init):
784         * gst/gsttask.c: (gst_task_class_init):
785         * gst/gstxml.c: (gst_xml_class_init):
786         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
787         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
788         (gst_base_src_loop):
789         * libs/gst/controller/gstcontroller.c:/
790         (_gst_controller_class_init):
791         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
792         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
793         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
794         * tests/old/examples/plugins/example.c: (gst_example_class_init):
795         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
796         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
797
798 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
799
800         * gst/gstpad.c: (gst_pad_link):
801           Must set peer pads before calling the link function, otherwise
802           a task started from a link function might get a flow-not-linked
803           result when trying to push because the other thread where the
804           linking happens hasn't had a chance to set the peers yet. This
805           might happen for example when a queue gets linked to a downstream
806           element, as queue starts a streaming task when its source pad
807           gets linked. Happens in real life when playing back flac/musepack
808           files in playbin (#332390).
809           
810 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
811
812         * gst/gstindex.h:
813         * gst/gstxml.h:
814         * libs/gst/base/gstadapter.h:
815         * libs/gst/base/gstbasesink.h:
816         * libs/gst/base/gstbasesrc.h:
817         * libs/gst/base/gstbasetransform.h:
818         * libs/gst/base/gstcollectpads.h:
819         * libs/gst/base/gstpushsrc.h:
820         Fix broken GObject macros
821
822 2006-04-07  Wim Taymans  <wim@fluendo.com>
823
824         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
825         Initialize start and stop times, thanks valgrind.
826
827 2006-04-07  Wim Taymans  <wim@fluendo.com>
828
829         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
830         Be a bit nicer to badly behaving upstream elements that expect
831         us to deal with non TIME segments and timestamps (such as fakesrc
832         in the testsuite).
833
834 2006-04-07  Wim Taymans  <wim@fluendo.com>
835
836         * gst/gstbus.c:
837         Small documentation clarification about the signal watch.
838
839         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
840         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
841         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
842         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
843         (gst_base_sink_get_position_last),
844         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
845         Convert and store timestamps in stream time and running time, the
846         raw timestamps are not usefull, also document this better.
847         Use different window sizes for good and bad QoS observations so
848         we react to badness a little quicker.
849         Keep track of the amount of rendered and dropped buffers.
850         Send QoS timestamps in running time.
851
852         * libs/gst/base/gstbasetransform.c:
853         (gst_base_transform_sink_eventfunc),
854         (gst_base_transform_handle_buffer):
855         Compare QoS timestamps against running time.
856
857 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
858
859         * gst/gstpad.c:
860           Typo fixes in docs.
861
862 2006-04-06  Michael Smith  <msmith@fluendo.com>
863
864         * gst/gstpad.c: (gst_pad_set_property):
865           Use g_value_get_object() instead of g_value_dup_gst_object(),
866           to avoid double-reffing the pad template (which we then sink,
867           so this worked previously if (and only if) the pad template
868           was floating.
869
870         * gst/gstpadtemplate.c: (gst_pad_template_init),
871         (gst_pad_template_pad_created):
872           Never return floating references to pad templates, create
873           them as initially-sunken.
874
875           Document an extra function (and make this stop sinking our
876           pad template, since that is now guaranteed to do nothing,
877           since we created it sunken).
878
879         * gst/gstghostpad.c:
880           Fix docs typo.
881
882 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
883
884         * gst/gstinfo.c: (__gst_in_valgrind):
885           Add some newlines.
886
887         * plugins/elements/gsttypefindelement.c:
888         (gst_type_find_element_chain):
889           Don't leak buffer caps.
890
891 2006-04-06  Michael Smith  <msmith@fluendo.com>
892
893         * gst/parse/grammar.y:
894           Fix a leak in parse-launch for any source-or-sink named element 
895           references used.
896
897         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
898           Unref the pipeline if it exists after we've failed parsing.
899
900 2006-04-05  Michael Smith  <msmith@fluendo.com>
901
902         * gst/gstpipeline.c: (gst_pipeline_init):
903           When we create a pipeline bus, initially create it in flushing mode.
904           Fixes leaks in at least one test, and makes a new pipeline work the
905           same as one that has gone to READY and then back to NULL.
906
907         * gst/gstelement.c:
908           Typo fix in docs.
909
910 2006-04-05  Michael Smith  <msmith@fluendo.com>
911
912         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
913           Unref a pad we reffed.
914         * tests/check/gst/gstutils.c: (GST_START_TEST):
915           Unref bins
916
917 2006-04-05  Michael Smith  <msmith@fluendo.com>
918
919         * gst/gstquery.c: (gst_query_set_formats),
920         (gst_query_set_formatsv):
921           Fix leaking GValues in queries, as shown by valgrind/testsuite.
922
923 2006-04-05  Michael Smith  <msmith@fluendo.com>
924
925         * tests/check/generic/sinks.c: (GST_START_TEST):
926           Fix a variety of memleaks in sinks check, which are only sometimes 
927           shown by running the tests under valgrind (weird?).
928
929 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
930
931         * docs/version.entities.in:
932           Fix the substituted entity name after thomas' changes on the
933           weekend.
934
935 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
936
937         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
938         VALGRIND_PRINTF
939         
940 2006-04-05  Andy Wingo  <wingo@pobox.com>
941
942         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
943
944         * libs/gst/base/gstbasetransform.c
945         (gst_base_transform_sink_eventfunc): When resetting our segment on
946         FLUSH_STOP, also update the flag saying we haven't seen a
947         newsegment.
948
949 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
950
951         Patch by: Paolo Borelli  <pborelli at katamail dot com>
952
953         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
954         (gst_plugin_check_license):
955           minor clean-ups: G_DEFINE_TYPE already takes care of the
956           parent_class stuff, no need to do it twice. Mark array of
957           license strings as constant. (#337103)
958           
959 2006-04-04  Michael Smith  <msmith@fluendo.com>
960
961         * tools/gst-inspect.c: (print_element_list):
962           Free the right plugin list; fixes a memory leak.
963
964 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
965
966         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
967
968         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
969           Don't error out on empty buffers (#336945).
970           
971 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
972
973         * docs/libs/gstreamer-libs-sections.txt:
974         * gst/gsttaglist.c:
975         * libs/gst/base/gstbasesink.c:
976         * libs/gst/base/gstbasesink.h:
977         * libs/gst/base/gstbasesrc.c:
978         * libs/gst/base/gstbasesrc.h:
979           Documentation updates. Make BaseSink and BaseSrc docs contain the
980           class structure so that people can actually see the prototypes for
981           virtual functions they're supposed to be overriding.
982
983 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
984
985         * plugins/elements/gsttypefindelement.c:
986         (gst_type_find_element_chain):
987           More debug info; when skipping typefinding, send cached
988           events in all cases.
989
990 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
991
992         * configure.ac:
993           use new AS_VERSION and AS_NANO macros
994         * gst/gst-i18n-lib.h:
995         * gst/gst.c:
996         * gst/gsterror.c:
997         * gst/gstversion.h.in:
998         * win32/common/config.h:
999         * win32/common/config.h.in:
1000           update accordingly
1001
1002 2006-03-31  Michael Smith  <msmith@fluendo.com>
1003
1004         * plugins/elements/gsttypefindelement.c:
1005         (gst_type_find_element_chain):
1006           Do not typefind content if the buffers already have caps.
1007           Neccesary for icydemux (#333657), and the right thing to do anyway.
1008
1009 2006-03-30  Wim Taymans  <wim@fluendo.com>
1010
1011         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1012         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1013         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1014         (gst_base_sink_record_qos_observation),
1015         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1016         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1017         (gst_base_sink_change_state):
1018         More QoS measurements as described in the design doc.
1019         Get rid of ringbuffer with observations, running average is
1020         more simple and equally good.
1021         Calculates valid proportion now.
1022         Added beginning of flood measurement.
1023
1024 2006-03-29  Wim Taymans  <wim@fluendo.com>
1025
1026         * docs/design/part-qos.txt:
1027         * gst/gstclock.c:
1028         Small documentation updates and additions.
1029
1030 2006-03-29  Wim Taymans  <wim@fluendo.com>
1031
1032         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1033         (gst_base_src_send_event), (gst_base_src_loop),
1034         (gst_base_src_change_state):
1035         Perform the EOS logic when we reach the segment stop position.
1036         Fix compilation on gcc4.1
1037
1038 2006-03-29  Wim Taymans  <wim@fluendo.com>
1039
1040         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1041
1042         * plugins/elements/gstqueue.c: (gst_queue_init),
1043         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1044         (gst_queue_set_property):
1045         * plugins/elements/gstqueue.h:
1046         In queue, when EOS is received, if minimum threshold > max_size -
1047         current_level, there is chance that queue blocks forever in conditional
1048         item del wait. This is because the queue is not emptied completely due
1049         to minimum threshold.  Here is another approach. Instead of setting
1050         cur_levels to max in EOS, just zero all minimum threshold levels. This
1051         should make sure that queue gives out all data. When going to READY
1052         (stop) state, just reset the original minimum threshold levels.
1053         Fixes #336336.
1054
1055 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1056
1057         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1058         (gst_type_find_element_handle_event),
1059         (gst_type_find_element_send_cached_events),
1060         (gst_type_find_element_change_state):
1061         * plugins/elements/gsttypefindelement.h:
1062           When typefinding is done in push mode, we should cache
1063           events we receive during typefinding instead of just
1064           dropping them (e.g. newsegment, custom events from
1065           dvdreadsrc etc.) and then send them out once we've
1066           determined the type of the stream (and decodebin
1067           has had a chance to plug in a decoder/demuxer).
1068           
1069 2006-03-27  Wim Taymans  <wim@fluendo.com>
1070
1071         * docs/design/part-qos.txt:
1072         First QoS ideas.
1073
1074 2006-03-27  Wim Taymans  <wim@fluendo.com>
1075
1076         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1077
1078         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1079         (gst_base_src_send_event), (gst_base_src_change_state):
1080         Handle element seek correctly when we are streaming.
1081         Fixes #326998.
1082
1083 2006-03-24  Michael Smith  <msmith@fluendo.com>
1084
1085         * docs/faq/gst-uninstalled:
1086           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1087           allow you to correctly run intalled applications built against old 
1088           core, using plugins that require updated core (e.g. running
1089           installed totem against a full uninstalled gstreamer stack)
1090
1091 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1092
1093         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1094         more debug details
1095
1096 2006-03-24  Wim Taymans  <wim@fluendo.com>
1097
1098         * docs/gst/gstreamer-sections.txt:
1099         Rearrange the order of the methods so that related methods
1100         are grouped together in sections.
1101
1102 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1103
1104         * gst/gstelement.c:
1105           Little clarification in the docs
1106
1107 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1108
1109         * docs/README:
1110         formatting fix
1111         * plugins/elements/gstidentity.c:
1112         * plugins/elements/gstqueue.c:
1113         * plugins/elements/gsttee.c:
1114         * plugins/elements/gsttypefindelement.c:
1115         GST_ELEMENT_DETAILS formatting
1116
1117 2006-03-24  Wim Taymans  <wim@fluendo.com>
1118
1119         * libs/gst/base/gstbasesink.h:
1120         Only add fields, not insert or we break ABI.
1121
1122 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1123
1124         * win32/common/libgstbase.def:
1125         * win32/common/libgstreamer.def:
1126           Update, add recently added functions.
1127
1128 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * docs/gst/gstreamer-sections.txt:
1131         * gst/gstutils.c: (gst_pad_query_peer_position),
1132         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1133         * gst/gstutils.h:
1134           API: add some new utility functions:
1135            - gst_pad_query_peer_position()
1136            - gst_pad_query_peer_duration()
1137            - gst_pad_query_peer_convert()
1138           
1139 2006-03-23  Wim Taymans  <wim@fluendo.com>
1140
1141         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1142         (gst_base_sink_init), (gst_base_sink_finalize),
1143         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1144         (gst_base_sink_set_property), (gst_base_sink_get_property),
1145         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1146         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1147         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1148         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1149         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1150         (gst_base_sink_preroll_object), (gst_base_sink_event),
1151         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1152         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1153         (gst_base_sink_query), (gst_base_sink_change_state):
1154         Decouple max-lateness and the fact that QoS messages are generated
1155         with a new property (qos).
1156         added API: GstBaseSink::async_play()
1157         Add vmethod so subclasses can be notified of ASYNC playing
1158         state changes.
1159         Collect timestamp start and stop to report better current
1160         position in EOS/PLAYING/PAUSED/READY/NULL.
1161         Refactor QoS/frame dropping and other measurements.
1162         API: GstBaseSrc::qos
1163         Fixes #326311
1164
1165         * libs/gst/base/gstbasesink.h:
1166         Added Private struct.
1167         API: gst_base_sink_set_qos_enabled()
1168         API: gst_base_sink_is_qos_enabled()
1169
1170 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1171
1172         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1173           If compiling against GLib-2.8 or newer, try to read the
1174           registry file using GMappedFile first before falling back
1175           to fopen() + fread() (#332151).
1176
1177 2006-03-22  Wim Taymans  <wim@fluendo.com>
1178
1179         * gst/gstinfo.c: (gst_debug_set_active),
1180         (gst_debug_category_set_threshold):
1181         Disable debugging unless explicitly activated.
1182         Fixes #335480.
1183
1184 2006-03-22  Wim Taymans  <wim@fluendo.com>
1185
1186         * gst/gstelement.c: (gst_element_set_locked_state),
1187         (gst_element_dispose):
1188         Cleanup the error case.
1189
1190         * gst/gstobject.c: (gst_object_dispose):
1191         print a critical when some object was disposed with
1192         a parent, also revive the object since it might
1193         crash the parent.
1194
1195 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1196
1197         * tools/gst-launch.1.in:
1198           Fix another typo.
1199
1200 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1201
1202         * configure.ac:
1203         * tests/check/Makefile.am:
1204           disable some tests when we don't have a registry
1205         * tests/check/gst/gstutils.c: (gst_utils_suite):
1206           don't build the part that needs parsing
1207
1208 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1209
1210         * gst/Makefile.am
1211         * tests/examples/Makefile.am:
1212           fix --disable-parse build
1213
1214 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         * tools/gst-feedback.1.in:
1217           Fix typo: s/feeback/feedback/ (#133494).
1218
1219 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1220
1221         * tools/Makefile.am:
1222         * tools/gst-launch.1.in:
1223           Add FILES section and correct entry about GST_REGISTRY_PATH
1224           environment variable (#133495; #133494).
1225
1226 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1227
1228         * tools/Makefile.am:
1229         * tools/gst-md5sum.1.in:
1230         * tools/gst-md5sum.c:
1231           Remove gst-md5sum and man page (the md5sink element
1232           required was removed ages ago)
1233
1234 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1235
1236         * gst/gststructure.c: (gst_structure_id_set_value):
1237           Make sure that string fields in structures/taglists
1238           contain valid UTF-8 - we don't want to pass rubbish to
1239           applications because of a buggy plugin (cp. #334167).
1240
1241 2006-03-21  Edward Hervey  <edward@fluendo.com>
1242
1243         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1244         (gst_bin_handle_message_func):
1245         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1246         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1247         (gst_element_set_bus_func):
1248         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1249         * gst/gstminiobject.c: (gst_value_set_mini_object),
1250         (gst_value_take_mini_object):
1251         * gst/gstpad.c: (gst_pad_set_pad_template):
1252         * gst/gstpipeline.c: (gst_pipeline_dispose),
1253         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1254         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1255         (gst_collect_pads_chain):
1256         * libs/gst/net/gstnettimeprovider.c:
1257         (gst_net_time_provider_set_property):
1258         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1259         It's in fact all issues with gst_*object_replace().
1260
1261 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1262
1263         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1264         
1265         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1266         * pkgconfig/gstreamer-check.pc.in:
1267           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1268
1269 2006-03-21  Edward Hervey  <edward@fluendo.com>
1270
1271         * gst/gstbuffer.h:
1272         * gst/gstevent.h:
1273         * gst/gstmessage.h:
1274         gst_[buffer|event|message]_ref() macros are replaced by a static
1275         inline functions because gcc-4.1 will about if the return value
1276         isn't used.
1277         * tests/check/gst/gstevent.c: (event_probe):
1278         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1279
1280 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1281
1282         * gst/gstutils.h:
1283         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1284         the type' case. (Closes: #335195 for now). In the future, when we
1285         depend on GLib 2.10, we could also intern the type name using
1286         g_intern_static_string()
1287
1288 2006-03-20  Wim Taymans  <wim@fluendo.com>
1289
1290         * gst/gstbin.c: (gst_bin_handle_message_func),
1291         (bin_query_max_init), (bin_query_position_fold),
1292         (bin_query_position_done), (gst_bin_query):
1293         Position query should also take max of all streams.
1294
1295 2006-03-20  Wim Taymans  <wim@fluendo.com>
1296
1297         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1298         (gst_fake_src_finalize):
1299         Fix leaks in fakesrc.
1300
1301         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1302         Fix leaks in the testcase.
1303
1304 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1305
1306         * gst/gst_private.h:
1307           add win32 specific import decoration(__declspec(dllimport)) 
1308           for all extern GstDebugCategory * variables
1309         * win32/common/libgstbase.def:
1310         * win32/common/libgstcontroller.def:
1311         * win32/common/libgstreamer.def:
1312           Add some exports, remove empty lines
1313         * win32/common/libgstdataprotocol.def:
1314         * win32/common/libgstdataprotocol.dsp:
1315         * win32/common/libgstnet.def:
1316         * win32/common/libgstnet.dsp:
1317           new project files and exportation files added
1318         
1319 2006-03-19  Wim Taymans  <wim@fluendo.com>
1320
1321         * tests/check/libs/basesrc.c: (eos_event_counter):
1322         Use proper return value for probe.
1323
1324 2006-03-17  Wim Taymans  <wim@fluendo.com>
1325
1326         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1327         (gst_pad_push):
1328         Don't leak buffers, caps and pads on negotiation errors.
1329
1330 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1331
1332         * docs/faq/cvs.xml:
1333         * docs/faq/dependencies.xml:
1334         * docs/faq/developing.xml:
1335         * docs/faq/faq.xml:
1336         * docs/faq/general.xml:
1337         * docs/faq/getting.xml:
1338         * docs/faq/legal.xml:
1339         * docs/faq/troubleshooting.xml:
1340         * docs/faq/using.xml:
1341         Faq review and update.
1342
1343 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1344
1345         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1346         (gst_pad_push):
1347         Don't pound the cpu to pieces by checking get_caps when accept_caps
1348         is called with the same caps as the pad already has.
1349         Use GST_DEBUG_OBJECT when outputting caps change information.
1350
1351 2006-03-15  Wim Taymans  <wim@fluendo.com>
1352
1353         * gst/gstclock.c: (gst_clock_class_init):
1354         Fix docs.
1355
1356 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1357
1358         * gst/gstbuffer.h:
1359         Documentation fix.
1360
1361         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1362         (gst_pad_accept_caps), (gst_pad_configure_sink),
1363         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1364         Make the default acceptcaps behaviour be to check the requested 
1365         caps against the gst_pad_get_caps output. 
1366
1367         Ensure that gst_pad_accept_caps is used to check caps when a pad
1368         doesn't have a setcaps function, so that pads automatically refuse 
1369         caps that they don't allow in their pad template. (Fixes #332986)
1370
1371         When a buffer with attached caps is pushed, ensure that the source 
1372         pad receives those caps even if the element didn't call
1373         gst_pad_set_caps first.
1374
1375 2006-03-15  Wim Taymans  <wim@fluendo.com>
1376
1377         * libs/gst/base/gstadapter.c:
1378         Add some docs.
1379
1380 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1381
1382         * win32/common/libgstbase.def:
1383         * win32/common/libgstcontroller.def:
1384         * win32/common/libgstreamer.def:
1385           Add a whole bunch of missing functions (#334434).
1386
1387 2006-03-14  Wim Taymans  <wim@fluendo.com>
1388
1389         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1390         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1391         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1392         Better debug info when we receive a segment event.
1393         Reorganize a bit so we can pass the get_times() results around.
1394         Use the segment format when calculating the running time.
1395         Don't do QoS is sync is disabled or we have no clock or the
1396         element does not want us to sync to the clock.
1397         Don't drop buffers if QoS is disabled for now.
1398
1399 2006-03-14  Wim Taymans  <wim@fluendo.com>
1400
1401         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1402         Marked the stats property as unimplemented so people don't get
1403         wild ideas.
1404         Add debug message when regression goes wrong.
1405         Added some more docs.
1406
1407 2006-03-14  Wim Taymans  <wim@fluendo.com>
1408
1409         * gst/gstsegment.c: (gst_segment_to_stream_time):
1410         Return correct return type in case of errors.
1411
1412 2006-03-14  Wim Taymans  <wim@fluendo.com>
1413
1414         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1415           Don't segfault on invalid formats.
1416
1417 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1418
1419         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1420           Can't use gst_segment_to_running_time() when the segment
1421           is not in GST_TIME_FORMAT (like with filesink, for example).
1422           Stops flac encoding pipelines from spewing critical warnings
1423           at EOS (#331248).
1424           
1425 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1426
1427         * gst/gstpipeline.c: (gst_pipeline_class_init):
1428           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1429
1430         * plugins/elements/gsttypefindelement.c:
1431         (gst_type_find_element_handle_event):
1432           Don't try to typefind empty streams.
1433
1434 2006-03-14  Wim Taymans  <wim@fluendo.com>
1435
1436         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1437         (gst_base_sink_do_qos):
1438         Separate QoS calculation.
1439         Only drop buffers when lateness is bigger than the 
1440         duration of the buffer.
1441
1442 2006-03-13  Wim Taymans  <wim@fluendo.com>
1443
1444         * gst/gstpipeline.c: (gst_pipeline_set_property),
1445         (gst_pipeline_get_property), (do_pipeline_seek),
1446         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1447         (gst_pipeline_get_delay):
1448         Don't deadlock when reading properties.
1449
1450 2006-03-13  Wim Taymans  <wim@fluendo.com>
1451
1452         * libs/gst/base/gstbasetransform.c:
1453         (gst_base_transform_class_init), (gst_base_transform_init),
1454         (gst_base_transform_sink_event),
1455         (gst_base_transform_sink_eventfunc),
1456         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1457         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1458         (gst_base_transform_set_property),
1459         (gst_base_transform_get_property),
1460         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1461         (gst_base_transform_set_qos_enabled),
1462         (gst_base_transform_is_qos_enabled):
1463         * libs/gst/base/gstbasetransform.h:
1464         Make basetransform virtual method for src events too.
1465         Handle QOS in basetransform.
1466         API: gst_base_transform_update_qos()
1467         API: gst_base_transform_set_qos_enabled()
1468         API: gst_base_transform_is_qos_enabled()
1469
1470 2006-03-13  Wim Taymans  <wim@fluendo.com>
1471
1472         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1473         (gst_base_sink_do_sync):
1474         Small cleanups.
1475         Use QOS debug category.
1476
1477 2006-03-13  Wim Taymans  <wim@fluendo.com>
1478
1479         * plugins/elements/gstqueue.c:
1480         Very small doc update.
1481
1482 2006-03-13  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/gst_private.h:
1485         * gst/gstinfo.c: (_gst_debug_init):
1486         Added QOS debug category
1487
1488 2006-03-13  Wim Taymans  <wim@fluendo.com>
1489
1490         * docs/gst/gstreamer-sections.txt:
1491         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1492         * gst/gstbin.h:
1493         * gst/gstbus.c: (gst_bus_class_init):
1494         * gst/gstbus.h:
1495         * gst/gstclock.c:
1496         * gst/gstelement.c: (gst_element_set_locked_state):
1497         * gst/gstsegment.c:
1498         Documentation updates.
1499
1500         * gst/gstpipeline.c: (gst_pipeline_get_type),
1501         (gst_pipeline_class_init), (gst_pipeline_init),
1502         (gst_pipeline_dispose), (gst_pipeline_set_property),
1503         (gst_pipeline_get_property), (do_pipeline_seek),
1504         (gst_pipeline_send_event), (gst_pipeline_change_state),
1505         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1506         (gst_pipeline_get_delay):
1507         * gst/gstpipeline.h:
1508         Added methods for setting the delay.
1509         API: gst_pipeline_set_delay()
1510         API: gst_pipeline_get_delay()
1511         Add pipeline debug category
1512         Various cleanups.
1513         Updated docs.
1514         Don't reset stream time when seek failed.
1515
1516 2006-03-13  Wim Taymans  <wim@fluendo.com>
1517
1518         * docs/design/draft-klass.txt:
1519         * docs/design/part-clocks.txt:
1520         * docs/design/part-events.txt:
1521         * docs/design/part-gstbin.txt:
1522         * docs/design/part-gstpipeline.txt:
1523         * docs/design/part-messages.txt:
1524         * docs/design/part-negotiation.txt:
1525         * docs/design/part-overview.txt:
1526         * docs/design/part-preroll.txt:
1527         * docs/design/part-seeking.txt:
1528         * docs/design/part-states.txt:
1529         * docs/design/part-streams.txt:
1530         Documentation updates.
1531
1532 2006-03-12  Julien MOUTTE  <julien@moutte.net>
1533
1534         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
1535         us to leak strings...
1536
1537 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1538
1539         * libs/gst/net/gstnettimeprovider.c:
1540           fix docs
1541         * win32/common/config.h:
1542           update
1543
1544 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1545
1546         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
1547
1548         * configure.ac:
1549           Don't check for libgnomeui (leftover from old examples
1550           that aren't built or disted any longer) (#334303).
1551           
1552 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1555         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1556           Emit RESOURCE_NO_SPACE_LEFT error here as well when
1557           there's no space left on the device.
1558
1559 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
1560
1561         * gst/gstclock.h:
1562           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
1563           to cast the input to GstClockTime before comparing with
1564           another GstClockTime value.
1565
1566 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1567
1568         * configure.ac:
1569           back to trunk
1570
1571 === release 0.10.4 ===
1572
1573 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
1574
1575         * configure.ac:
1576           releasing 0.10.4, "Light"
1577
1578 2006-03-10  Michael Smith  <msmith@fluendo.com>
1579
1580         * libs/gst/dataprotocol/dataprotocol.c:
1581           Fix docs for dataprocotol to not get the return types completely
1582           wrong for a few functions.
1583
1584 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1585
1586         * docs/gst/gstreamer-sections.txt:
1587         * gst/gstpipeline.c: (gst_pipeline_class_init),
1588         (gst_pipeline_init), (gst_pipeline_set_property),
1589         (gst_pipeline_get_property), (gst_pipeline_change_state),
1590         (gst_pipeline_set_auto_flush_bus),
1591         (gst_pipeline_get_auto_flush_bus):
1592         * gst/gstpipeline.h:
1593           Add new API: gst_pipeline_set_auto_flush_bus() and
1594           gst_pipeline_get_auto_flush_bus() to disable automatic
1595           flushing of the pipeline's GstBus when going from READY
1596           to NULL state (#332045).
1597
1598 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1599
1600         * docs/gst/gstreamer-sections.txt:
1601         * gst/gsturi.c: (gst_uri_has_protocol):
1602         * gst/gsturi.h:
1603            Add new API: gst_uri_has_protocol() (#333779).
1604
1605 2006-03-09  Wim Taymans  <wim@fluendo.com>
1606
1607         * gst/gstclock.c: (gst_clock_entry_new),
1608         (gst_clock_id_compare_func), (gst_clock_id_wait),
1609         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
1610         (gst_clock_init), (gst_clock_get_internal_time),
1611         (gst_clock_set_master), (do_linear_regression),
1612         (gst_clock_add_observation), (gst_clock_set_property):
1613         * gst/gstclock.h:
1614         Review docs.
1615         Small cleanups.
1616         Fix a possible segfault when the window-size is made smaller.
1617         Calculate jitter before performing the clock wait. Ideally
1618         the clock implementation should calculate jitter but we need
1619         API breakage for that.
1620
1621         * gst/gstsystemclock.c: (gst_system_clock_init):
1622         Docs review.
1623         
1624         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1625         Remove leftover else
1626
1627         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1628         (gst_systemclock_suite):
1629         Added check to test GST_CLOCK_DIFF.
1630
1631 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1632
1633         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
1634         (gst_type_find_helper_get_range):
1635           If we are provided with the size, we should implement
1636           GstTypeFind::get_length, so that typefind functions who
1637           want to can actually peek at the middle of a file.
1638
1639 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
1640
1641         * docs/manual/advanced-dataaccess.xml:
1642           Add some very very basic error checking.
1643
1644         * docs/pwg/appendix-checklist.xml:
1645           Some updates to the list of things to check when writing an element.
1646
1647 2006-03-08  Wim Taymans  <wim@fluendo.com>
1648
1649         * docs/design/part-element-transform.txt:
1650         Added some docs about the design of tranform elements.
1651
1652         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1653         (gst_base_src_loop), (gst_base_src_change_state):
1654         Mark buffers with the DISCONT flag.
1655
1656 2006-03-08  Michael Smith  <msmith@fluendo.com>
1657
1658         * gst/gstregistry.h:
1659         * gst/gstregistryxml.c: (gst_registry_save),
1660         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
1661         (gst_registry_xml_save_pad_template),
1662         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
1663         (gst_registry_xml_write_cache):
1664           Rewrite registry-saving to avoid race conditions and check for
1665           failed writes.
1666
1667 2006-03-08  Wim Taymans  <wim@fluendo.com>
1668
1669         * libs/gst/base/gstbasetransform.c:
1670         (gst_base_transform_transform_caps),
1671         (gst_base_transform_transform_size),
1672         (gst_base_transform_prepare_output_buffer),
1673         (gst_base_transform_get_unit_size),
1674         (gst_base_transform_buffer_alloc),
1675         (gst_base_transform_handle_buffer),
1676         (gst_base_transform_change_state):
1677         Cleanups, separate normal flow from errors, add sensible
1678         DEBUG lines.
1679         Don't try to renegotiate when allocating an output buffer.
1680         Also copy DISCONT buffer flag when copying a buffer.
1681         Reset the transform after we finish streaming, not during.
1682
1683 2006-03-08  Wim Taymans  <wim@fluendo.com>
1684
1685         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1686         Use last buffer timestamp in qos message.
1687
1688 2006-03-07  Wim Taymans  <wim@fluendo.com>
1689
1690         Patch by: Christophe Fergeau
1691
1692         * docs/pwg/advanced-tagging.xml:
1693         * docs/pwg/building-pads.xml:
1694           fixes #333416
1695
1696 2006-03-07  Wim Taymans  <wim@fluendo.com>
1697
1698         * docs/libs/gstreamer-libs-sections.txt:
1699         Added basesink new methods.
1700
1701         * gst/gstevent.c:
1702         * gst/gstevent.h:
1703         Docs updates. Flesh out the QoS docs.
1704
1705         * libs/gst/base/gstadapter.c:
1706         Small doc clarification about ownership and flushing.
1707
1708         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
1709         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1710         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
1711         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1712         * libs/gst/base/gstbasesink.h:
1713         API additions: 
1714         Added new methods to allow subclass to control max-lateness 
1715         and sync.
1716         Generate very basic QoS events based on last sync observation.
1717         Updated docs, fix typo, added some QoS blurb.
1718
1719         * libs/gst/base/gstbasesrc.c:
1720         Remove obsolete _get_state() calls from docs.
1721
1722 2006-03-07  Wim Taymans  <wim@fluendo.com>
1723
1724         * docs/libs/gstreamer-libs-sections.txt:
1725         * libs/gst/base/gstbasetransform.h:
1726         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1727         Fix docs for GstBaseSrc.
1728
1729 2006-03-07  Wim Taymans  <wim@fluendo.com>
1730
1731         * docs/gst/gstreamer-sections.txt:
1732         * gst/gstbuffer.h:
1733         * gst/gstvalue.c:
1734         * libs/gst/base/gstbasetransform.h:
1735         Small documentation fixes.
1736
1737 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1738
1739         * gst/gstvalue.c:
1740           Document thread-unsafety of gst_value_register_foo_func()
1741           when used at the same time as gst_value_foo() (#322628).
1742
1743 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1744
1745         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1746         (gst_push_src_check_get_range):
1747           Push sources don't support pull mode by default.
1748
1749 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1750
1751         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1752         (gst_base_src_init), (gst_base_src_pad_check_get_range),
1753         (gst_base_src_default_check_get_range):
1754         * libs/gst/base/gstbasesrc.h:
1755           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1756           provide default implementation, and rename
1757           gst_base_src_check_get_range() to
1758           gst_base_src_pad_check_get_range() for clarity.
1759
1760 2006-03-06  Wim Taymans  <wim@fluendo.com>
1761
1762         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1763         Make property overridable.
1764
1765 2006-03-06  Wim Taymans  <wim@fluendo.com>
1766
1767         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1768         (gst_base_sink_init), (gst_base_sink_set_property),
1769         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1770         * libs/gst/base/gstbasesink.h:
1771         API addition: Make max-lateness a property.
1772
1773 2006-03-06  Wim Taymans  <wim@fluendo.com>
1774
1775         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1776         (gst_base_sink_do_sync), (gst_base_sink_render_object):
1777         Don't ever draw a frame that is >10ms late.
1778
1779 2006-03-06  Michael Smith  <msmith@fluendo.com>
1780
1781         * gst/gstmessage.c: (_gst_message_copy):
1782           When copying a message, set the parent_refcount of the enclosed
1783           structure to point at the copy, not the original message.
1784
1785 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1786
1787         Patch by: Christophe Fergeau
1788
1789         * gst/gstutils.h:
1790           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1791           usable in c++ code (#333417)
1792
1793 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1794
1795         * gst/gstclock.h:
1796           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1797
1798 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
1799
1800         * libs/gst/base/gstbasetransform.c:
1801         (gst_base_transform_transform_caps):
1802           Make sure caps are writable before passing them to
1803           gst_caps_append().
1804
1805 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1806
1807         * gst/gsterror.h:
1808           Fix some minor docs errors.
1809
1810 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1811
1812           Patch by: Ross Burton <ross at burtonini dot com>
1813
1814         * gst/gsterror.c: (_gst_resource_errors_init):
1815         * gst/gsterror.h:
1816           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1817
1818 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1819
1820         * gst/gst.c:
1821         Add a check and output a g_warning when GStreamer is built
1822         against GLib 2.6 but running against 2.8 or higher, and vice 
1823         versa. (Closes: #323542)
1824
1825 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1826
1827         * gst/parse/parse.l:
1828           Commit patch for parse_launch syntax from #331255. Removes 
1829           support for quoted strings and mimetypes when writing filtered 
1830           caps. See the bug report for more details - I'm pretty sure this
1831           obscure feature is not in use by _anyone_ anywhere.
1832
1833           With this simple change, the size of the gstreamer.so here 
1834           drops from 2193KB to 1565KB.
1835
1836 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1837
1838         * plugins/elements/gsttypefindelement.h:
1839         * plugins/elements/gsttypefindelement.c:
1840         (gst_type_find_element_src_event), (start_typefinding),
1841         (stop_typefinding), (gst_type_find_element_handle_event),
1842         (gst_type_find_element_chain),
1843         (gst_type_find_element_chain_do_typefinding):
1844           Use gst_type_find_helper_for_buffer() for chain-based
1845           typefinding.
1846
1847 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1848
1849         * plugins/elements/gsttypefindelement.c:
1850         (gst_type_find_element_class_init),
1851         (gst_type_find_element_set_property),
1852         (gst_type_find_element_get_property):
1853           Deprecate "maximum" property (not only was it only taken into
1854           account for typefinding in push-mode anyway, it also was never
1855           actually possible to set it in the first place because the
1856           property was registered with the numeric property ID for the
1857           "minimum" property). Register "maximum" property correctly,
1858           for the sake of future copy'n'pasters. Remove some cruft
1859           from property get/set functions.
1860
1861 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * plugins/elements/gsttypefindelement.c:
1864         (gst_type_find_element_activate):
1865           Use gst_type_find_helper_get_range() here, so we
1866           can honour the "minimum" property and also emit
1867           the signal with the correct probability of the found caps.
1868
1869 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1870
1871         * docs/libs/gstreamer-libs-sections.txt:
1872         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1873         (helper_find_suggest), (gst_type_find_helper_get_range),
1874         (gst_type_find_helper):
1875         * libs/gst/base/gsttypefindhelper.h:
1876           New API: gst_type_find_helper_get_range() (#333042).
1877
1878 2006-03-02  Michael Smith  <msmith@fluendo.com>
1879
1880         * gst/gstregistryxml.c: (load_feature):
1881           Asserting on a failure to read part of the registry is Not Cool.
1882           Just log a warning and return NULL (which is already handled)
1883
1884 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1885
1886         * win32/common/libgstbase.def:
1887           added export of gst_type_find_helper_for_buffer
1888         * win32/common/libgstbase.def:
1889           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1890           gst_ghost_pad_get_target
1891
1892 2006-02-28  Wim Taymans  <wim@fluendo.com>
1893
1894         * docs/design/draft-klass.txt:
1895         We use Filter now.
1896         Added Connector to mark elements that are only used to
1897         allow pipeline connections.
1898         Moved Debug to extra feature since most of them are 
1899         functionally something else.
1900
1901 2006-02-28  Wim Taymans  <wim@fluendo.com>
1902
1903         * docs/design/draft-klass.txt:
1904         Some updates and clarifications.
1905
1906 2006-02-28  Wim Taymans  <wim@fluendo.com>
1907
1908         * docs/design/draft-klass.txt:
1909         Proposal for klass field values.
1910
1911         * docs/design/part-streams.txt:
1912         Start of a doc describing stream anatomy.
1913
1914 2006-02-28  Wim Taymans  <wim@fluendo.com>
1915
1916         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1917         Help the compiler a bit with type registration.
1918         Use existing forward cod path instead of duplicating it when 
1919         handling a message.
1920         
1921         * gst/gstbus.c: (gst_bus_get_type):
1922         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1923         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1924         * gst/gstclock.c: (gst_clock_get_type):
1925         * gst/gstelement.c: (gst_element_get_type),
1926         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1927         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1928         * gst/gstminiobject.c: (gst_mini_object_get_type):
1929         * gst/gstpad.c: (gst_pad_get_type):
1930         * gst/gstsegment.c: (gst_segment_get_type):
1931         * gst/gststructure.c: (gst_structure_get_type):
1932         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1933         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1934         * gst/gstvalue.c:
1935         Help compiler with type registration.
1936
1937         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1938         Small doc update.
1939
1940 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1941
1942         * plugins/elements/gsttypefindelement.c:
1943         (gst_type_find_element_handle_event):
1944           When we get an EOS event and have not found a type yet
1945           (most likely because we had not yet accumulated
1946           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1947           type given the data we have so far. Fixes typefinding
1948           for very short streams again, most notably quicktime
1949           redirections as used on Apple's trailer site (#331701).
1950
1951 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1952
1953         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1954         (gst_type_find_helper):
1955           Try typefinding factories with the highest rank first.
1956
1957 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1958
1959         * docs/libs/gstreamer-libs-docs.sgml:
1960         * docs/libs/gstreamer-libs-sections.txt:
1961         * libs/gst/base/gsttypefindhelper.c:
1962           Add section for typefind helper and add documentation
1963           for the old and the new function.
1964
1965 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1966
1967         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1968         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1969         (gst_type_find_helper_for_buffer):
1970         * libs/gst/base/gsttypefindhelper.h:
1971           New API: gst_type_find_helper_for_buffer() (#332723).
1972           
1973 2006-02-27  Michael Smith  <msmith@fluendo.com>
1974
1975         Patch by: Loïc Minier
1976
1977         * configure.ac:
1978         * docs/Makefile.am:
1979         * docs/slides/Makefile.am:
1980           prevent CVS directories getting disted.
1981
1982 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1983
1984         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1985           Use the REFCOUNTING category for caps refcounting.
1986           
1987 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1990           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1991
1992 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1993
1994         * plugins/elements/gsttypefindelement.c:
1995         (gst_type_find_element_activate):
1996           Use gst_pad_check_pull_range() before _activate_pull()
1997           to avoid unnecessary open/close (see #331690).
1998
1999 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2000
2001         * gst/gstutils.c:
2002           Docs enhancement: make it crystal clear what the
2003           gst_pad_add_*_probe() callbacks should look like.
2004
2005 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2006
2007         * libs/gst/base/gstbasesrc.c:
2008           Document how applications can stop recording from
2009           live sources (see #330996).
2010
2011 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2012
2013         * tests/check/Makefile.am:
2014         * tests/check/libs/basesrc.c: (eos_event_counter),
2015         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2016         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2017         (gst_basesrc_suite), (main):
2018           ... and add some tests for the base source EOS stuff.
2019
2020 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2021
2022         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2023           Test case originally showed the problem fixed below,
2024           but was then amended. Add checks back at the place
2025           where they used to be.
2026
2027 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2028
2029         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2030         (gst_base_src_init), (gst_base_src_loop),
2031         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2032         (gst_base_src_change_state):
2033         * libs/gst/base/gstbasesrc.h:
2034           Don't unconditionally send EOS when going from PAUSED to
2035           READY state, esp. make sure we don't send two EOS events
2036           in some cases (e.g. one when reaching EOS and one when
2037           going from PAUSED to READY). Also, we don't want to send
2038           EOS events when operating in pull mode. However, we do
2039           want to send an EOS event when shutting down a live
2040           source explicitly, for example (fixes #330996).
2041           
2042 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2043
2044         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2045           Update src->read_position after a seek when not using mmap.
2046           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2047
2048 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2049
2050         * gst/Makefile.am:
2051         * gst/gstparse.h:
2052         * gst/gstutils.c:
2053         * gst/gstutils.h:
2054         Make things work with --disable-parse as they do with 
2055         --disable-load-save - the symbols involved disappear, but the
2056         header is still installed and GST_DISABLE_PARSE is included via
2057         gstconfig.h
2058
2059 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2060
2061         * libs/gst/base/gstbasetransform.c:
2062         (gst_base_transform_change_state): Fix a stupid bug. I was 
2063         sure I compiled that.
2064
2065 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2066
2067         * gst/gstpad.c: (gst_pad_set_blocked_async):
2068         * gst/gstutils.c: (gst_pad_add_data_probe),
2069         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2070         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2071         (gst_pad_remove_buffer_probe): Make those function act on the
2072         ghostpad target when it's a ghostpad. (Closes #331727)
2073
2074 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2075
2076         * libs/gst/base/gstbasetransform.c:
2077         (gst_base_transform_change_state): Make basetransform reusable.
2078         (Closes #331898)
2079
2080 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2081
2082         * docs/random/release:
2083         Move the current documentation of how to do a release to the top
2084         of the file.
2085
2086         * gst/gstbin.c: (gst_bin_class_init),
2087         (gst_bin_handle_message_func):
2088         Allow multiple state-recalculation threads. (Closes #328873)
2089
2090 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2091
2092         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2093         * gst/gstpad.c: (gst_pad_set_event_function),
2094         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2095         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2096         2 strings. You can't use the STR_NULL macro on that.
2097
2098 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2099
2100         * gst/gstpad.c: (gst_pad_set_event_function),
2101         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2102         (gst_pad_set_getcaps_function)
2103         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2104           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2105           So now, we can use --gst-debug-level=5 on Windows
2106         * win32/common/libgstcontroller.def:
2107           Added export of gst_controller_init
2108         * win32/vs6/libgstcontroller.dsp:
2109           Fixed Release post build configuration
2110
2111 2006-02-17  Wim Taymans  <wim@fluendo.com>
2112
2113         * tests/check/gst/gstquery.c: (GST_START_TEST):
2114         Added another check.
2115
2116 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2117
2118         * plugins/elements/gsttypefindelement.c: (find_peek):
2119           We can do peeks at non-zero offsets, as long as they
2120           fall within the buffer we have.
2121
2122 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2123
2124         * tests/check/Makefile.am:
2125         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2126         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2127         (parse_suite), (main):
2128           Add testsuite for parse launch syntax
2129
2130 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2131
2132         * plugins/elements/gsttypefindelement.c:
2133         (gst_type_find_element_chain):
2134           When typefinding is unsuccessful in the chain function, don't
2135           error out immediately. Only error out with NO_CAPS_FOUND if
2136           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2137           otherwise simply wait for more data so we can try typefinding
2138           again with more data later. Also, don't attempt to typefind
2139           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2140           this should improve typefinding from network sources where the
2141           size of the first buffer can be somewhat random.
2142
2143 2006-02-14  Wim Taymans  <wim@fluendo.com>
2144
2145         * docs/gst/gstreamer-sections.txt:
2146         * gst/gstpadtemplate.c:
2147         * gst/gstpadtemplate.h:
2148         Fix padtemplate docs, fixes #328805.
2149
2150 2006-02-14  Wim Taymans  <wim@fluendo.com>
2151
2152         * tools/gst-launch.c: (main):
2153         NO_PREROLL is not an ERROR so don't send confusing messages
2154         to the user.
2155
2156 2006-02-14  Wim Taymans  <wim@fluendo.com>
2157
2158         Patch by: Torsten Schoenfeld
2159
2160         * gst/gstregistry.c: (gst_registry_get_default),
2161         (_gst_registry_cleanup):
2162         Protect default registry with lock and ref/sink it.
2163         Fixes #324818
2164
2165 2006-02-14  Wim Taymans  <wim@fluendo.com>
2166
2167         * gst/gstbuffer.c:
2168         * gst/gstquery.c: (gst_query_list_add_format),
2169         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2170         (gst_query_parse_formats_nth):
2171         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2172         Docs fixes.
2173
2174 2006-02-14  Wim Taymans  <wim@fluendo.com>
2175
2176         * docs/gst/gstreamer-sections.txt:
2177         Reworked query docs.
2178
2179         * gst/gstquery.c: (gst_query_new_formats),
2180         (gst_query_list_add_format), (gst_query_set_formats),
2181         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2182         (gst_query_parse_formats_nth):
2183         * gst/gstquery.h:
2184         Flesh out formats query, added some new methods.
2185         Fix part of #324398.
2186
2187         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2188         Added query creation tests.
2189
2190 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2191
2192         * gst/gstpad.c: (fixate_value):
2193         Add a default fixation for fraction lists.
2194
2195 2006-02-13  Wim Taymans  <wim@fluendo.com>
2196
2197         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2198         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2199         (gst_task_join):
2200         * gst/gsttask.h:
2201         Detect and warn for obvious deadlocks. fixes #320340
2202         Fix error case where lock was not released.
2203
2204         * tests/check/Makefile.am:
2205         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2206         (task_func), (gst_element_suite), (main):
2207         Add task check.
2208
2209 2006-02-13  Wim Taymans  <wim@fluendo.com>
2210
2211         * docs/gst/gstreamer-sections.txt:
2212         * gst/gstbus.c:
2213         Add new functions to docs.
2214
2215 2006-02-13  Wim Taymans  <wim@fluendo.com>
2216
2217         * docs/design/part-TODO.txt:
2218         Updated TODO list, basesrc supports seeking to non-bytes
2219         formats.
2220
2221         * docs/design/part-element-sink.txt:
2222         Update docs.
2223
2224         * gst/gstbin.c: (bin_replace_message),
2225         (gst_bin_handle_message_func):
2226         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2227         * gst/gstevent.c: (gst_event_finalize):
2228         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2229         (gst_pad_send_event):
2230         Use shiny new _TYPE_NAME macros.
2231
2232         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2233         Move debug statement up.
2234
2235         * gst/gstelement.c: (gst_element_set_locked_state):
2236         Add some debugging.
2237
2238 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2239
2240         * docs/gst/gstreamer-sections.txt:
2241         * gst/gstmessage.h:
2242         * gst/gstquery.h:
2243           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2244           macros (#330906). Also, document the already existing
2245           GST_QUERY_TYPE macro.
2246
2247 2006-02-13  Wim Taymans  <wim@fluendo.com>
2248
2249         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2250         (event_probe), (GST_START_TEST):
2251         Only events up to the pipeline EOS are counted, there are
2252         some more when going to NULL currently which we don't care
2253         about for now.
2254
2255 2006-02-13  Wim Taymans  <wim@fluendo.com>
2256
2257         * gst/gstpad.c: (gst_pad_send_event):
2258         Correctly check flushing and emit probes. fixes #330125
2259
2260 2006-02-10  Andy Wingo  <wingo@pobox.com>
2261
2262         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2263         structure.
2264         (gst_bus_init): Cache the location of the private data in the
2265         instance structure.
2266         (gst_bus_enable_sync_message_emission) 
2267         (gst_bus_disable_sync_message_emission): Implement new public
2268         functions.
2269         (gst_bus_post): Emit the sync-message signal if the user asked for
2270         it. Fixes #330684.
2271
2272         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2273         location of the bus-private structure.
2274         (gst_bus_enable_sync_message_emission)
2275         (gst_bus_disable_sync_message_emission): API addition
2276
2277 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2278
2279         Patch by: Vincent Torri
2280
2281         * docs/pwg/building-boiler.xml:
2282         PWG patch from #326800
2283
2284 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2285
2286         * configure.ac:
2287         * docs/Makefile.am:
2288         * docs/design/Makefile.am:
2289           Dist design docs.
2290
2291 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2292
2293         * configure.ac:
2294           back to CVS
2295
2296 === release 0.10.3 ===
2297
2298 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2299
2300         * configure.ac:
2301           releasing 0.10.3, "Like a virgin"
2302
2303 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2304
2305         * configure.ac:
2306           2nd prerelease of 0.10.3
2307           Bump libtool versioning.
2308
2309 2006-02-07  Andy Wingo  <wingo@pobox.com>
2310
2311         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2312         update last_stop if we're in TIME format and the timestamp is
2313         valid.
2314
2315         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2316         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2317         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2318         If we get a new newsegment with a different format, adapt
2319         accordingly.
2320
2321         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2322         of 0. Not a problem, really.
2323
2324         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2325         warn if sync=true.
2326
2327 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2328
2329         * configure.ac:
2330           Prelease of 0.10.3
2331
2332 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2333
2334         * win32/vs7:
2335           project files updated to the default vs7 configuration
2336         * win32/common/libgstbase.def:
2337         * win32/common/libgstreamer.def:
2338           added new symbols,
2339           removed empty lines,
2340           sorted all exported symbols alphabetically
2341         * win32/common/dirent.c:
2342         * win32/common/dirent.h:
2343         * win32/common/gchar.h:
2344           use windows line end.
2345           
2346 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2347
2348         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2349           Send EOS event when stopping.
2350
2351 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2352
2353         * docs/README:
2354           Tell folks what to do if the plugin-foobar.xml file
2355           hasn't been generated for a newly-added plugin.
2356
2357 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2358
2359         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2360         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2361         (gst_collect_pads_start), (gst_collect_pads_stop),
2362         (gst_collect_pads_event): Collectpads now holds a reference
2363         to the GstPad that was added. Indeed we don't want to look
2364         at pads that might just go away with no warning...
2365
2366 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2367
2368         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2369         (gst_collect_pads_start), (gst_collect_pads_stop),
2370         (gst_collect_pads_event), (gst_collect_pads_chain):
2371         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2372         Mark Nauwelaerts's patch on bug #328491.
2373
2374 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2375
2376         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2377         (gst_utils_suite):
2378           Add some simple tests for gst_parse_bin_from_description() and
2379           gst_bin_find_unconnected_pad() (#329069).
2380
2381 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2382
2383         * tools/gst-launch.c: (event_loop), (main):
2384           Catch errors during preroll (#320084).
2385
2386 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         * plugins/elements/gsttypefindelement.c:
2389         (gst_type_find_element_activate):
2390           Post TYPE_NOT_FOUND error message when typefinding
2391           is unsuccessful in the activate function as well.
2392
2393 2006-02-02  Wim Taymans  <wim@fluendo.com>
2394
2395         * docs/design/part-element-sink.txt:
2396         Updated doc.
2397
2398 2006-02-02  Wim Taymans  <wim@fluendo.com>
2399
2400         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2401         (gst_base_sink_render_object),
2402         (gst_base_sink_queue_object_unlocked):
2403         Only keep track of prerollable items when we are 
2404         prerolling.
2405         Before rendering after preroll, always check if we
2406         have queued items.
2407         Added some more debugging.
2408
2409 2006-02-02  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/gstelement.c: (gst_element_continue_state),
2412         (gst_element_set_state_func), (gst_element_change_state):
2413         Fixed #326576, been running this for quite some time with
2414         no regressions at all.
2415
2416 2006-02-02  Wim Taymans  <wim@fluendo.com>
2417
2418         * common/gst.supp:
2419         Added more suppressions
2420
2421 2006-02-02  Wim Taymans  <wim@fluendo.com>
2422
2423         * docs/design/part-element-sink.txt:
2424         Updated document.
2425
2426         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2427         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2428         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2429         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2430         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2431         (gst_base_sink_preroll_object),
2432         (gst_base_sink_queue_object_unlocked),
2433         (gst_base_sink_queue_object), (gst_base_sink_event),
2434         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2435         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2436         (gst_base_sink_get_position), (gst_base_sink_change_state):
2437         * libs/gst/base/gstbasesink.h:
2438         Totally refactored matching the design doc.
2439         Use two segments, one to clip incomming buffers and another to
2440         perform sync.
2441         Handle queueing correctly, bypass the queue when playing.
2442         Make EOS cancelable.
2443         Handle errors correctly when operating in pull based mode.
2444
2445         * tests/check/elements/fakesink.c: (GST_START_TEST),
2446         (fakesink_suite):
2447         Added new check for sinks.
2448
2449 2006-02-02  Wim Taymans  <wim@fluendo.com>
2450
2451         * gst/gstsegment.c: (gst_segment_clip):
2452         No reason to refuse to clip when start == -1
2453
2454 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2455
2456         * docs/README:
2457         * docs/manual/intro-basics.xml:
2458         * docs/manual/intro-preface.xml:
2459         * docs/manual/manual.xml:
2460         * docs/pwg/advanced-dparams.xml:
2461         * docs/pwg/intro-basics.xml:
2462         * docs/pwg/intro-preface.xml:
2463         * docs/pwg/pwg.xml:
2464           describe dparams (controller) for plugins
2465           unify docs a little more
2466
2467 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2468
2469         * docs/gst/gstreamer-sections.txt:
2470         * gst/gstutils.c: (element_find_unconnected_pad),
2471         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2472         * gst/gstutils.h:
2473           Add new API: gst_parse_bin_from_description() and
2474           gst_bin_find_unconnected_pad() (#329069).
2475
2476 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2477
2478         * docs/manual/README:
2479           uncover a nasty detail of the docs build
2480
2481 2006-01-31  Wim Taymans  <wim@fluendo.com>
2482
2483         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2484         Don't cache duration messages if we're not going to use or
2485         free them.
2486
2487 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2488
2489         * docs/manual/advanced-dparams.xml:
2490         * docs/pwg/advanced-dparams.xml:
2491           more dparam docs
2492         * gst/gstindex.c:
2493           fix docs
2494         * libs/gst/controller/lib.c: (gst_controller_init):
2495           init just once
2496
2497 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2498
2499         * gst/gstelement.c: (gst_element_message_full):
2500           also show file/line/func if no additional debug was given
2501
2502 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2503         
2504         * win32/vs7/grammar.vcproj:
2505           activate copy of autogenerated files for Release mode
2506
2507 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2508         
2509         * win32/common/libgstreamer.def:
2510           export gst_value_compare
2511
2512 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
2513
2514         * plugins/elements/Makefile.am:
2515         * plugins/elements/gstelements.c:
2516         * plugins/elements/gstfdsink.c: (_do_init),
2517         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
2518         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
2519         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
2520         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
2521         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
2522         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
2523         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
2524         * plugins/elements/gstfdsink.h:
2525         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
2526
2527 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
2528
2529         * docs/manual/advanced-dparams.xml:
2530           describe controller
2531         * docs/manual/advanced-position.xml:
2532         * docs/manual/basics-init.xml:
2533         * docs/manual/manual.xml:
2534         * docs/manual/titlepage.xml:
2535         * docs/pwg/pwg.xml:
2536         * docs/pwg/titlepage.xml:
2537           cleanup xml (more to come)
2538         * libs/gst/controller/gstcontroller.c:
2539           fix typo
2540
2541 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2542         
2543         * win32/vs6/grammar.dsp:
2544           add autogen of gstmarshal.c,h for Release mode
2545                 
2546 2006-01-30  Wim Taymans  <wim@fluendo.com>
2547
2548         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2549         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
2550         (gst_base_sink_handle_object), (gst_base_sink_event),
2551         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
2552         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2553         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
2554         (gst_base_sink_deactivate), (gst_base_sink_activate),
2555         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2556         (gst_base_sink_query), (gst_base_sink_change_state):
2557         Basesink cleanups, remove some old code.
2558         Handle the case where a subclass can preroll in the render
2559         method (mostly audiosinks).
2560         Handle more events.
2561         Remove some locks around variables that are now protected
2562         with the PREROLL_LOCK (clock_id, flushing, ..).
2563         Optimize position query some more, do correct locking.
2564         Remove old code to push queue in state change, this is not
2565         needed anymore since preroll blocks on all prerollable items 
2566         now.
2567         Almost implemented as described in design doc.
2568
2569 2006-01-30  Wim Taymans  <wim@fluendo.com>
2570
2571         * tests/check/gst/gstbin.c: (GST_START_TEST):
2572         Wait for refcount to settle down before checking.
2573
2574 2006-01-30  Wim Taymans  <wim@fluendo.com>
2575
2576         * docs/design/part-element-sink.txt:
2577         Pseudo code overview of desired sink behaviour regarding
2578         preroll.
2579
2580 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2581         * win32/vs6/grammar.dsp:
2582           fix some bugs in Release mode for autogenerated files
2583                 
2584 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2585         * win32/common/libgstbase.def:
2586         * win32/common/libgstreamer.def:
2587           export some new symbols: gst_base_src_set_format,
2588           gst_iterator_next, gst_structure_set_valist
2589
2590 2006-01-29  Julien MOUTTE  <julien@moutte.net>
2591
2592         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
2593         Set pad functions unconditionally. Fixes #329105.
2594
2595 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2596         * win32/vs8:
2597           add vs8 project files created by Sergey Scobich
2598
2599 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
2600
2601         * gst/gstutils.c: (gst_element_unlink_pads):
2602         Don't leak pad references.
2603
2604         * tests/check/elements/fakesink.c: (GST_START_TEST):
2605         * tests/check/generic/sinks.c: (GST_START_TEST):
2606         * tests/check/generic/states.c: (GST_START_TEST):
2607         * tests/check/gst/gstbin.c: (GST_START_TEST):
2608         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2609         * tests/check/gst/gstelement.c: (GST_START_TEST):
2610         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2611         * tests/check/gst/gstiterator.c: (GST_START_TEST):
2612         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2613         Fix a bunch of leaks. Make generic/sinks.c
2614         use a bit less cpu by slowing the buffer rate
2615         between fakesrc and fakesink.
2616         
2617 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
2618         * gst/gstcaps.c:
2619         * gst/gstelement.c: (gst_element_send_event):
2620         * gst/gstevent.c:
2621         * gst/gstinfo.c:
2622         * gst/gstiterator.c:
2623         * gst/gstiterator.h:
2624         * gst/gstpad.c: (gst_pad_send_event):
2625         * gst/gststructure.c:
2626         * gst/gsturi.c:
2627         * gst/gstutils.c:
2628         * gst/gstvalue.c:
2629         * libs/gst/base/gstadapter.c:
2630           doc fixes, to link to function, just write gst_cool_function(), don't
2631           prefix with '#'
2632
2633 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2634
2635         * plugins/elements/gsttee.c: (gst_tee_do_push),
2636         (gst_tee_handle_buffer):
2637         Always prefer an actual return value from a src
2638         pad in place of NOT_LINKED. This means we return
2639         WRONG_STATE when all src pads are WRONG_STATE
2640         instead of NOT_LINKED.
2641
2642         Lock when replacing the last message to prevent
2643         racing with the get_property method.
2644
2645         Add debug output
2646
2647 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2648
2649         * tests/check/Makefile.am:
2650         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
2651         (main):
2652         Add a very simple check that should have caught the memleak I fixed
2653         last night (if not for the slice allocator hiding it)
2654
2655 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2656
2657         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2658         (gst_bin_remove_func), (gst_bin_handle_message_func),
2659         (bin_query_duration_fold), (bin_query_generic_fold):
2660         Clean up references to the clock provider when disposed or when
2661         handling a clock-lost message from it.
2662
2663         Unref sinks when performing a query via gst_iterator_fold, as the
2664         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
2665
2666         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
2667         (gst_clock_set_master):
2668         Drop our reference to the master clock, if any, when we are disposed.
2669
2670         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
2671         Chain up in dispose. 
2672
2673 2006-01-26  Wim Taymans  <wim@fluendo.com>
2674
2675         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2676         Add some debugging.
2677
2678 2006-01-26  Julien MOUTTE  <julien@moutte.net>
2679
2680         * plugins/elements/gsttee.c: (gst_tee_do_push),
2681         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
2682         handles pad being NOT_LINKED or in WRONG_STATE.
2683
2684 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2685
2686         * win32/MANIFEST:
2687           more updating
2688
2689 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2690
2691         * win32/MANIFEST:
2692           remove obsolete entry
2693
2694 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2695
2696         * docs/gst/gstreamer-sections.txt:
2697         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
2698         (gst_bin_iterate_sources), (gst_bin_send_event):
2699         * gst/gstbin.h:
2700         * gst/gstelement.c: (gst_element_send_event):
2701         * gst/gstevent.c:
2702         * gst/gstpad.c: (gst_pad_send_event):
2703           added code for downstream events, reviewed docs in gstevent.c
2704
2705 2006-01-25  Julien MOUTTE  <julien@moutte.net>
2706
2707         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2708         We only query position using the clock in the playing state.
2709         Query peer in the other cases.
2710         * win32/common/config.h: Updates.
2711
2712 2006-01-24  Wim Taymans  <wim@fluendo.com>
2713
2714         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2715         A clock entry that is scheduled for the exact time of the
2716         clock is still in time.
2717
2718         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2719         (gst_base_sink_do_sync):
2720         Add some more debug info.
2721
2722 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2723
2724         * win32/vs7:
2725           Add new vs7 project files and solution.
2726
2727 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2728
2729         * win32/vs7:
2730           all files removed as they were out-dated.
2731
2732 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2733
2734         * docs/random/release:
2735           update notes
2736         * gst/gstbin.c: (gst_bin_init):
2737         * gst/gstbus.c: (gst_bus_new):
2738         * gst/gstbus.h:
2739         * gst/gstpipeline.c: (gst_pipeline_init):
2740           use gst_bus_new(), improve logging, fix docs
2741         * win32/common/config.h:
2742           update for cvs build
2743
2744 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2745
2746         * autogen.sh:
2747           up required version of automake to 1.7
2748
2749 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
2750
2751         * win32/common/libgstreamer.def:
2752           export gst_buffer_is_metadata_writable
2753
2754 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2755
2756         * docs/gst/gstreamer-sections.txt:
2757         * gst/gstevent.h:
2758           Add gst_event_replace() (#327001)
2759
2760 2006-01-20  Wim Taymans  <wim@fluendo.com>
2761
2762         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2763         Make it actually compile too..
2764
2765 2006-01-20  Wim Taymans  <wim@fluendo.com>
2766
2767         * gst/gstcaps.c:
2768         Clarify behaviour of _is_equal() when passing NULL parameters.
2769
2770         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2771         (gst_pad_set_caps):
2772         Cleanups. Don't unref NULL caps.
2773         When setting the same caps, protect caps of the pad with
2774         proper lock.
2775         Use full functionality of _is_equal() when comparing caps.
2776
2777 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2778
2779         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2780         Don't loop infinitely if there are no buffers to present. Partially
2781         fixes #327197, but collectpads is just broken for reusing elements
2782         to do multiple encodes atm.
2783
2784 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2785
2786         * tools/gst-inspect.c: (print_element_features):
2787         * tools/gst-xmlinspect.c: (main):
2788         URL_HANDLER is not a plugin feature we can search for in
2789         the registry.
2790
2791 2006-01-19  Edward Hervey  <edward@fluendo.com>
2792
2793         * gst/gstelement.c: (gst_element_pads_activate): 
2794         When activating, do src pads first, then sink pads.
2795         When de-activating, do sink pads first, then src pads.
2796
2797 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2798
2799         * docs/gst/gstreamer-sections.txt:
2800         Add gst_index_add_associationv to the docs
2801
2802 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2803
2804         * gst/gstevent.c:
2805           Fix docs typo
2806
2807         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2808         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2809           Do some refactoring. Doesn't actually change functionality,
2810           but makes landing the DRAIN event easier later.
2811
2812 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
2813
2814         * docs/pwg/advanced-scheduling.xml:
2815           Update from 0.9.x to 0.10 API and make example a bit
2816           clearer.
2817
2818 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2819
2820         * docs/gst/gstreamer-sections.txt:
2821         Add gst_buffer_(is|make)_metadata_writable methods.
2822
2823 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2824
2825         * docs/design/part-sparsestreams.txt:
2826         Update sparse streams doc, hopefully for greater clarity
2827
2828 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2829
2830         * docs/design/part-events.txt:
2831         Remove mention of FILLER events.
2832         Add DRAIN event.
2833
2834         * docs/design/part-sparsestreams.txt:
2835         Write some things about using NEWSEGMENT to keep sparse streams
2836         flowing.
2837
2838 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2839
2840         * gst/gstbin.c: (gst_bin_dispose):
2841           Guard gst_object_unref call against a NULL object (dispose
2842           can theoretically be called multiple times).
2843           
2844 2006-01-18  Wim Taymans  <wim@fluendo.com>
2845
2846         * gst/gstbin.c: (gst_bin_element_set_state):
2847         * gst/gstclock.c: (gst_clock_id_wait):
2848         Added some more debug info.
2849
2850         * libs/gst/base/gstadapter.c:
2851         Added more docs.
2852
2853         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2854         (gst_base_sink_do_sync), (gst_base_sink_chain):
2855         Added some comments.
2856
2857 2006-01-18  Wim Taymans  <wim@fluendo.com>
2858
2859         * tests/check/Makefile.am:
2860         * tests/check/elements/fakesink.c: (chain_async_buffer),
2861         (chain_async), (chain_async_return), (GST_START_TEST),
2862         (fakesink_suite), (main):
2863         Added fakesink test that checks prerolling and clipping
2864         behaviour.
2865
2866         * tests/check/gst/gstutils.c: (GST_START_TEST):
2867         Make check run faster so that buildbots don't timeout.
2868
2869 2006-01-18  Wim Taymans  <wim@fluendo.com>
2870
2871         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2872         (gst_base_sink_do_sync):
2873         Some cleanups.
2874         When the sink finishes blocking on the preroll buffer, it can
2875         immediatly render it instead of rendering when the next buffer
2876         arrives.
2877
2878 2006-01-18  Wim Taymans  <wim@fluendo.com>
2879
2880         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2881         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2882         (gst_base_sink_chain):
2883         Small cleanups.
2884         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2885         Don't store _last_stop if the buffer is dropped.
2886
2887 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2888
2889         * plugins/elements/gsttypefindelement.c:
2890         (gst_type_find_element_class_init):
2891           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2892           object method handler that sets the caps on the pad and we want
2893           that to happen before we emit the signal (fixes e.g. feeding a
2894           plain text file to decodebin).
2895
2896 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2897
2898         * gst/gstplugin.c: Add MPL and Proprietary as license options
2899
2900 2006-01-18  Andy Wingo  <wingo@pobox.com>
2901
2902         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2903         symbol was exported before, it appears this was just an oversight.
2904         Fixes #168703.
2905         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2906
2907         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2908         prototype to gint. OK since this prototype was not in the header.
2909
2910 2006-01-17  Andy Wingo  <wingo@pobox.com>
2911
2912         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2913         registry while we remove plugins.
2914
2915         * tools/gst-inspect.c (print_element_info): Don't unref the
2916         factory arg, that should be the responsibility of whatever code
2917         received the ref. Fixes a double-free when called from
2918         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2919         (main): Unref the factory if we have one.
2920         (print_element_list): No change -- relies on the
2921         plugin_feature_list_free to free the list of features.
2922
2923 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2924
2925         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2926         (gst_buffer_make_metadata_writable):
2927         * gst/gstbuffer.h:
2928         * libs/gst/base/gstbasetransform.c:
2929         (gst_base_transform_prepare_output_buf):
2930         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2931         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2932           Replace gst_buffer_(make|is)_metadata_writable patch now
2933           that the release is out.
2934
2935 2006-01-17  Andy Wingo  <wingo@pobox.com>
2936
2937         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2938         in the present tense without reference to versions.
2939
2940         * gst/gstregistry.c (gst_registry_add_plugin)
2941         (gst_registry_remove_plugin, gst_registry_remove_feature)
2942         (gst_registry_find_feature, gst_registry_get_feature_list)
2943         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2944         (gst_registry_lookup, gst_registry_scan_path)
2945         (_gst_registry_remove_cache_plugins)
2946         (gst_registry_get_feature_list_by_plugin): Add argument
2947         validation.
2948
2949 === release 0.10.2 ===
2950
2951 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2952
2953         * configure.ac:
2954           releasing 0.10.2, "If man is five"
2955
2956 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2957
2958         * gst/gstbuffer.c:
2959         * gst/gstbuffer.h:
2960         * libs/gst/base/gstbasetransform.c:
2961         (gst_base_transform_prepare_output_buf):
2962         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2963         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2964           Back out patch until after the release.
2965
2966 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2967
2968         * gst/gstminiobject.c:
2969           Spelling fix in docs.
2970         * ChangeLog - remove conflict indicator
2971
2972 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2973
2974         Reviewed By: Andy Wingo
2975
2976         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2977         (gst_buffer_make_metadata_writable):
2978         * gst/gstbuffer.h:
2979           Add gst_buffer_(is|make)_metadata_writable as analogues of
2980           gst_buffer_(is|make)_writable.
2981
2982         * libs/gst/base/gstbasetransform.c:
2983         (gst_base_transform_prepare_output_buf):
2984         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2985           Use name gst_buffer_(is|make)_metadata_writable functions.
2986
2987         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2988           Test gst_buffer_(is|make)_metadata_writable
2989         
2990           (Closes: #324162)
2991
2992 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2993
2994         * docs/manual/Makefile.am:
2995           don't do parallel make
2996         * configure.ac:
2997           AC_SUBST HOST_CPU
2998         * win32/common/config.h.in:
2999           add generations for HOST_CPU and GST_MAJORMINOR
3000         * win32/common/config.h:
3001           commit generated result
3002
3003 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3004
3005         * docs/manual/appendix-integration.xml:
3006           Update GNOME integration section to use gst_init_get_option_group()
3007           instead of the old popt stuff (#322911). Also, GNOME applications
3008           should  now use gconf*sink and gconf*src instead of the old gconf
3009           helper lib we had.
3010
3011 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3012
3013
3014         * docs/gst/gstreamer-docs.sgml:
3015         * docs/gst/gstreamer-sections.txt:
3016         * docs/libs/gstreamer-libs-sections.txt:
3017           add new API entries to the docs
3018         * libs/gst/controller/Makefile.am:
3019         * libs/gst/controller/gstcontroller.c:
3020         * libs/gst/controller/gstcontroller.h:
3021         * libs/gst/controller/gstcontrollerprivate.h:
3022         * libs/gst/controller/gsthelper.c:
3023         * libs/gst/controller/gstinterpolation.c:
3024           move private structs to private header
3025         * po/README:
3026           gstreamer-0.7 -> gstreamer-0.10
3027         * tests/check/libs/struct_i386.h:
3028           remove private structs
3029
3030 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3031
3032         * plugins/indexers/Makefile.am:
3033           Fixes as part of #317048
3034
3035 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3036
3037         * plugins/indexers/Makefile.am:
3038           fix #316086 - compilation when mmap is missing
3039
3040 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3041
3042         * libs/gst/base/gstbasesink.c:
3043           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3044           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3045         * win32/common/config.h:
3046           added some defines GST_MAJORMINOR and HOST_CPU
3047         * win32/common/libgstbase.def:
3048         * win32/common/libgstreamer.def:
3049           added some exported functions.
3050
3051 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3052
3053         * libs/gst/controller/gstcontroller.c:
3054         (gst_controlled_property_set_interpolation_mode),
3055         (gst_controlled_property_new):
3056         * libs/gst/controller/gstcontroller.h:
3057         * libs/gst/controller/gstinterpolation.c:
3058         (interpolate_none_get_string_value_array):
3059           make G_TYPE_STRING controlable
3060
3061 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3062
3063         * tools/README:
3064         * tools/gst-feedback.1.in:
3065         * tools/gst-inspect.1.in:
3066         * tools/gst-launch.1.in:
3067         * tools/gst-md5sum.1.in:
3068         * tools/gst-typefind.1.in:
3069         * tools/gst-xmlinspect.1.in:
3070         * tools/gst-xmllaunch.1.in:
3071           cleanup man-pages, remove reference to gst-register, document env-vars
3072
3073 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3074
3075         * gst/gstbuffer.c: (gst_buffer_span):
3076           gst_buffer_span should copy the timestamp of the first buffer
3077           if they were both originally overlapping subbuffers of the 
3078           same parent, using the same logic as the 'slow copy' case.
3079
3080 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3081
3082         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3083           Need to awaken ALL the pads when we pop a buffer, otherwise
3084           collectpads only works when there is 2 input streams.
3085
3086 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3087
3088         * docs/random/ensonic/media-device-daemon.txt:
3089           more ideas (dbus)
3090         * gst/gstbuffer.c:
3091           fix doc example, add clarification
3092         * tools/gst-launch.1.in:
3093           add initial info about GST_PLUGIN_PATH, needs more work
3094
3095 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3096
3097         * docs/manual/basics-bins.xml:
3098         * docs/manual/basics-elements.xml:
3099         * docs/manual/intro-basics.xml:
3100           Some more minor docs additions and updates.
3101
3102 2006-01-11  Wim Taymans  <wim@fluendo.com>
3103
3104         * docs/manual/basics-bins.xml:
3105         * docs/manual/basics-elements.xml:
3106         Some small fixes as pointed out by Ser-ver on IRC.
3107
3108 2006-01-10  Edward Hervey  <edward@fluendo.com>
3109
3110         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3111         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3112         the single-segment mode.
3113
3114 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3115
3116         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3117
3118         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3119         (gst_base_src_perform_seek), (gst_base_src_send_event),
3120         (gst_base_src_set_property), (gst_base_src_get_property),
3121         (gst_base_src_loop), (gst_base_src_start),
3122         (gst_base_src_activate_push):
3123         * libs/gst/base/gstbasesrc.h:
3124           Name (private) union; makes Sun's Forte compiler happy (#324900).
3125
3126 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3127
3128         * README:
3129           gst-register is gone.
3130
3131 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3132
3133         * gst/gstvalue.c: (_gst_value_initialize):
3134           make the G_TYPE_DATE instantiation work if debug is disabled
3135
3136 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3137
3138         * gst/gstmessage.c: (gst_message_parse_tag),
3139         (gst_message_parse_error), (gst_message_parse_warning):
3140           Don't crash when return location for error/warning debug
3141           string is NULL; add fact that return locations can be
3142           NULL to docs where appropriate.
3143
3144 2006-01-05  Wim Taymans  <wim@fluendo.com>
3145
3146         * gst/gstplugin.c: (gst_plugin_load_file):
3147         Replace strdup by g_strdup.
3148
3149 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3150
3151         * docs/pwg/advanced-types.xml:
3152           fix doc borkage
3153
3154 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3155
3156         submitted by: Abel Cheung
3157
3158         * po/LINGUAS:
3159         * po/zh_TW.po:
3160           Added Chinese (traditional) translation
3161
3162 2006-01-04  Wim Taymans  <wim@fluendo.com>
3163
3164         * docs/manual/basics-pads.xml:
3165         * docs/plugins/Makefile.am:
3166         * docs/plugins/gstreamer-plugins-docs.sgml:
3167         * docs/plugins/gstreamer-plugins-sections.txt:
3168         * docs/pwg/advanced-clock.xml:
3169         * docs/pwg/advanced-scheduling.xml:
3170         * docs/pwg/advanced-types.xml:
3171         * plugins/elements/gstfdsink.c:
3172         * plugins/elements/gstfdsrc.c:
3173         * plugins/elements/gstfdsrc.h:
3174         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3175         * plugins/elements/gstidentity.h:
3176         * plugins/elements/gstqueue.h:
3177         * plugins/elements/gsttee.c:
3178         * plugins/elements/gsttee.h:
3179         * plugins/elements/gsttypefindelement.c:
3180         (gst_type_find_element_class_init):
3181         * plugins/elements/gsttypefindelement.h:
3182         Small updates to various docs.
3183         Added core plugins to docs.
3184
3185 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3186
3187         * common/gst.supp:
3188           add a suppression for liboil's uninitialized variable
3189
3190 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3191
3192         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3193
3194         * gst/gstutils.h:
3195           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3196           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3197           compiler switch is being used (#325429).
3198
3199 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3200
3201         * gst/gstbin.c: (gst_bin_query):
3202           Disable duration query caching in bins until it gets
3203           fixed (see #324807).
3204
3205 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3206
3207         * tools/gst-inspect.c: (print_element_properties_info):
3208           Handle properties of POINTER and BOXED type.
3209
3210 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3211
3212         * gst/gst.c: (init_post):
3213           Init tags stuff and some other things before loading
3214           any static plugins (there may be other static plugins
3215           than just the GStreamer ones, and they may want to
3216           register their own tags or formats or whatever, and
3217           preferably without segfaulting).
3218
3219         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3220           Print at least a warning in the debug logs if we drop a
3221           query just because we don't know how to adjust the value
3222           in the particular format.
3223
3224 2005-12-24  David Schleef  <ds@schleef.org>
3225
3226         * tools/gstreamer-completion:
3227           Replacement for gst-complete written in sh and sed.  Only
3228           completes names of features, but that's 90% of what I want
3229           it for.  Properties are not available in registry.xml.  (Maybe
3230           they should be...)
3231
3232 === release 0.10.1 ===
3233
3234 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3235
3236         * configure.ac:
3237           releasing 0.10.1, "Nollaig chridheil"
3238
3239 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3240
3241         * docs/faq/cvs.xml:
3242           Add missing quote, should be make ERROR_CFLAGS="".
3243
3244 2005-12-20  Wim Taymans  <wim@fluendo.com>
3245
3246         * docs/design/part-trickmodes.txt:
3247         More documentation on trickmodes.
3248
3249 2005-12-20  Edward Hervey  <edward@fluendo.com>
3250
3251         * gst/gstcaps.c: (gst_static_caps_get_type):
3252         * gst/gstcaps.h:
3253           API addition: GST_TYPE_STATIC_CAPS
3254         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3255         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3256         * gst/gstpadtemplate.h:
3257           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3258         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3259         bindings.
3260
3261 2005-12-18  Wim Taymans  <wim@fluendo.com>
3262
3263         * libs/gst/base/gstadapter.c:
3264         * libs/gst/base/gstadapter.h:
3265         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3266         (gst_base_sink_get_position):
3267         * libs/gst/base/gstbasesink.h:
3268         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3269         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3270         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3271         (gst_base_src_send_event), (gst_base_src_update_length),
3272         (gst_base_src_get_range), (gst_base_src_loop),
3273         (gst_base_src_start):
3274         * libs/gst/base/gstbasesrc.h:
3275         * libs/gst/base/gstbasetransform.h:
3276         * libs/gst/base/gstcollectpads.h:
3277         * libs/gst/base/gstpushsrc.c:
3278         * libs/gst/base/gstpushsrc.h:
3279         * libs/gst/dataprotocol/dataprotocol.c:
3280         * libs/gst/dataprotocol/dataprotocol.h:
3281         * libs/gst/net/gstnetclientclock.h:
3282         * libs/gst/net/gstnettimeprovider.h:
3283         Documentation updates.
3284
3285 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3286
3287         * docs/manual/basics-helloworld.xml:
3288           Remove superfluous closing bracket in helloworld example.
3289
3290 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3291
3292         * tools/gst-launch.1.in:
3293           Update gst-launch man page; add a section with useful
3294           environment variables. Fixes #323882.
3295
3296 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3297
3298         * gst/gst.c:
3299         * gst/gst_private.h:
3300           change some char* into char[]
3301
3302 2005-12-16  Wim Taymans  <wim@fluendo.com>
3303
3304         * gst/gstregistryxml.c: (load_feature):
3305         Cleanups.
3306         Don't use g_object_unref on GstObjects so that we avoid
3307         leaks on unsafe glibs.
3308
3309 2005-12-16  Wim Taymans  <wim@fluendo.com>
3310
3311         * gst/gstbin.c: (gst_bin_recalc_state):
3312         Small doc updates.
3313
3314 2005-12-16  Wim Taymans  <wim@fluendo.com>
3315
3316         * common/check.mak:
3317         Added make forever target for check.
3318
3319 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3320
3321         * gst/gst.c: (init_post):
3322           make the registry cache file HOST_CPU-dependent
3323
3324 2005-12-16  Andy Wingo  <wingo@pobox.com>
3325
3326         * plugins/elements/gstbufferstore.c
3327         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3328         return value.
3329
3330         * tests/check/gst/gstobject.c
3331         (test_fake_object_name_threaded_unique): Pay attention to
3332         g_list_sort return value.
3333
3334 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3335
3336         * tools/gst-feedback-m.m:
3337           Update for 0.9/0.10 (fixes #323870).
3338
3339 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3340
3341         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3342           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3343           
3344         * tests/check/gst/gstminiobject.c: (my_foo_init),
3345         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3346         (test_value_collection), (gst_mini_object_suite):
3347           Add test to ensure refcounts end up as expected when passing
3348           GstMiniObjects through g_object_get() and g_object_set().
3349
3350 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3351
3352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3353         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3354         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3355         of collectpads. This version removes a lot of races without
3356         touching API/ABI. Yay !
3357
3358 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3359
3360         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3361           Don't allow activation of a srcpad in pull_range if it has no
3362           getrange function.
3363           Change some debug statements to be a little clearer
3364
3365         * plugins/elements/gsttypefindelement.c:
3366         (gst_type_find_handle_src_query):
3367           Check that we have a peer before executing queries thereupon.
3368
3369         * tests/examples/metadata/read-metadata.c: (message_loop):
3370           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3371           immediately return us any available message with 0 timeout.
3372
3373 2005-12-12  Michael Smith  <msmith@fluendo.com>
3374
3375         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3376           Don't unref factories after calling them.
3377         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3378         * plugins/elements/gsttypefindelement.c:
3379         (gst_type_find_element_chain):
3380           Free lists of factories after using them. Fixing typefinding memory
3381           leaks.
3382
3383 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3384
3385         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3386         (gst_plugin_feature_load):
3387           more meaningful debug output
3388         * configure.ac:
3389         * tests/Makefile.am:
3390         * tests/old/examples/Makefile.am:
3391           make make distcheck happy again
3392
3393 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3394
3395         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3396           Catch the special case where we are operating chain-based,
3397           but the downstream peer pad has no chain function. Emit a
3398           custom error message in this case instead of letting the
3399           core generate one implying that this is some sort of core
3400           bug. It's not, it just means that whatever got plugged
3401           into the pipeline downstream when we announced the type
3402           can only operate pull-based, while our source can only
3403           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3404           Error string has not been marked for translation yet, as
3405           it probably needs some more work first.
3406
3407         (gst_type_find_element_get_best_possibility):
3408           Add helper function to find the best of all available
3409           found possibilities that qualify given the min. threshold.
3410
3411         (gst_type_find_element_handle_event):
3412           Fix the case where we get an EOS while still in TYPEFIND
3413           mode (we want to chose the best of all possible types,
3414           not just the first type that happens to be in our unsorted
3415           list of possible types).
3416
3417         (gst_type_find_element_chain):
3418           Make sure we return GST_FLOW_ERROR when we errored out
3419           in stop_typefinding(); also, don't just find the best of
3420           all found type entries and then use the last examined
3421           type entry, but actually use the best entry.
3422
3423 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3424
3425         * tests/examples/typefind/typefind.c: (type_found):
3426         * tests/examples/xml/runxml.c: (xml_loaded):
3427           More gcc4 fixes and a mem leak fix.
3428
3429 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3430
3431         * tests/examples/xml/createxml.c: (object_saved):
3432           gcc 4 fixes
3433
3434 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3435
3436         * tests/Makefile.am:
3437           enable the examples even more
3438
3439 2005-12-12  Andy Wingo  <wingo@pobox.com>
3440
3441         * libs/gst/net/gstnettimeprovider.c
3442         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3443         (gst_net_time_provider_set_property)
3444         (gst_net_time_provider_get_property):
3445         API addition: Export "active" as a GObject property.
3446         (gst_net_time_provider_thread): Only respond to time queries if
3447         the time provider is active.
3448
3449         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3450         NetTimeProvider, preserving binary compat.
3451
3452 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3453
3454         * tests/examples/controller/audio-example.c: (main):
3455         * tests/examples/launch/Makefile.am:
3456           convert comments again
3457
3458 2005-12-12  Wim Taymans  <wim@fluendo.com>
3459
3460         * libs/gst/base/gstpushsrc.c:
3461         Fix typo.
3462
3463 2005-12-12  Wim Taymans  <wim@fluendo.com>
3464
3465         * docs/libs/gstreamer-libs-sections.txt:
3466         Added new symbol to docs.
3467
3468         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3469         (gst_base_src_init), (gst_base_src_set_format),
3470         (gst_base_src_default_query), (gst_base_src_query),
3471         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3472         (gst_base_src_perform_seek), (gst_base_src_send_event),
3473         (gst_base_src_default_event), (gst_base_src_event_handler),
3474         (gst_base_src_set_property), (gst_base_src_get_property),
3475         (gst_base_src_wait), (gst_base_src_do_sync),
3476         (gst_base_src_update_length), (gst_base_src_get_range),
3477         (gst_base_src_check_get_range), (gst_base_src_loop),
3478         (gst_base_src_default_negotiate), (gst_base_src_start),
3479         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3480         (gst_base_src_change_state):
3481         * libs/gst/base/gstbasesrc.h:
3482         Implement seeking to other formats than _BYTES.
3483         Implement more seeking methods correctly.
3484         Doc updates.
3485         Added query vmethod.
3486         Added do_seek vmethod to make life easier for subclasses
3487         when seeking.
3488         API addition: gst_base_src_set_format()
3489
3490 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3491
3492         * tests/examples/Makefile.am:
3493           added that too
3494
3495 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3496
3497         * configure.ac:
3498         * docs/random/ensonic/media-device-daemon.txt:
3499         * tests/examples/controller/.cvsignore:
3500         * tests/examples/controller/Makefile.am:
3501         * tests/examples/controller/audio-example.c: (main):
3502         * tests/examples/helloworld/.cvsignore:
3503         * tests/examples/helloworld/Makefile.am:
3504         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3505         * tests/examples/launch/.cvsignore:
3506         * tests/examples/launch/Makefile.am:
3507         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3508         * tests/examples/metadata/.cvsignore:
3509         * tests/examples/metadata/Makefile.am:
3510         * tests/examples/metadata/read-metadata.c: (message_loop),
3511         (make_pipeline), (print_tag), (main):
3512         * tests/examples/queue/.cvsignore:
3513         * tests/examples/queue/Makefile.am:
3514         * tests/examples/queue/queue.c: (event_loop), (main):
3515         * tests/examples/typefind/.cvsignore:
3516         * tests/examples/typefind/Makefile.am:
3517         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
3518         (main):
3519         * tests/examples/xml/.cvsignore:
3520         * tests/examples/xml/Makefile.am:
3521         * tests/examples/xml/createxml.c: (object_saved), (main):
3522         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
3523         * tests/old/examples/Makefile.am:
3524         * tests/old/examples/TODO:
3525         * tests/old/examples/controller/.cvsignore:
3526         * tests/old/examples/controller/Makefile.am:
3527         * tests/old/examples/controller/audio-example.c:
3528         * tests/old/examples/helloworld/.cvsignore:
3529         * tests/old/examples/helloworld/Makefile.am:
3530         * tests/old/examples/helloworld/helloworld.c:
3531         * tests/old/examples/launch/.cvsignore:
3532         * tests/old/examples/launch/Makefile.am:
3533         * tests/old/examples/launch/mp3parselaunch.c:
3534         * tests/old/examples/launch/mp3play:
3535         * tests/old/examples/manual/Makefile.am:
3536         * tests/old/examples/metadata/Makefile.am:
3537         * tests/old/examples/metadata/read-metadata.c:
3538         * tests/old/examples/queue/.cvsignore:
3539         * tests/old/examples/queue/Makefile.am:
3540         * tests/old/examples/queue/queue.c:
3541         * tests/old/examples/typefind/.cvsignore:
3542         * tests/old/examples/typefind/Makefile.am:
3543         * tests/old/examples/typefind/typefind.c:
3544         * tests/old/examples/xml/.cvsignore:
3545         * tests/old/examples/xml/Makefile.am:
3546         * tests/old/examples/xml/createxml.c:
3547         * tests/old/examples/xml/runxml.c:
3548           applied some simple fixing to some examples
3549           re-enabled the working examples
3550
3551 2005-12-12  Wim Taymans  <wim@fluendo.com>
3552
3553         * gst/gstsegment.c: (gst_segment_init),
3554         (gst_segment_set_last_stop), (gst_segment_set_seek),
3555         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3556         (gst_segment_to_running_time):
3557         Added more documentation.
3558         Make sure the last_pos value is updated properly.
3559         Make sure to_stream_time and to_running_time don't
3560         operate on wrong values.
3561
3562         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3563         Update check.
3564
3565 2005-12-12  Michael Smith  <msmith@fluendo.com>
3566
3567         * plugins/elements/gsttypefindelement.c: (free_entry),
3568         (gst_type_find_element_chain):
3569           Now that we're not leaking factories, make sure we keep references
3570           to them while we need them.
3571
3572 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3573
3574         * tests/check/gst/struct_i386.h:
3575           ifdef out the XML structs
3576
3577 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3578
3579         * gst/gstvalue.c: (gst_value_transform_double_fraction):
3580           floor is not needed, F is always positive; this obviates the
3581           need for adding -lm when building without libxml
3582
3583 2005-12-12  Wim Taymans  <wim@fluendo.com>
3584
3585         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3586         Take current playback rate into account when reporting
3587         the position.
3588
3589 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3590
3591         * docs/manual/mime-world.fig:
3592           Let's try this again, this time with a file that is
3593           actually in XFig format.
3594
3595 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3596
3597         * docs/manual/mime-world.fig:
3598           Add audioconvert element to diagram so that it
3599           matches the text and the code (fixes #319526).
3600
3601 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3602
3603         * docs/pwg/building-chainfn.xml:
3604         * docs/pwg/building-pads.xml:
3605         * docs/pwg/building-state.xml:
3606         * docs/pwg/other-source.xml:
3607           Update state change stuff for 0.10 (fixes #322969).
3608
3609 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3610
3611         * docs/manual/advanced-dataaccess.xml:
3612         * docs/manual/appendix-checklist.xml:
3613         * docs/manual/appendix-programs.xml:
3614         * docs/manual/basics-pads.xml:
3615         * docs/manual/highlevel-components.xml:
3616         * docs/manual/manual.xml:
3617           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
3618           add converters in front of pipelines; remove curly
3619           brackets for threads stuff, they no longer exist; use
3620           GST_TYPE_FRACTION for framerates; update some pieces of
3621           code to 0.10, but there's plenty more to do.
3622
3623         * docs/manual/appendix-porting.xml:
3624           Expand on asynchroneous state changes; s/0.9/0.10/;
3625           mention disappearance of gst_init_get_popt_table()
3626           (fixes #322916).
3627
3628 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3629
3630         * docs/faq/using.xml:
3631           Spider no longer exists, and neither does gst-launch-ext.
3632           Update examples to use decodebin and playbin and put
3633           converters in front of sinks (fixes #323726).
3634
3635 2005-12-09  Michael Smith  <msmith@fluendo.com>
3636
3637         * plugins/elements/gsttypefindelement.c: (find_peek),
3638         (gst_type_find_element_chain):
3639           Fix leaking element factories in typefinding.
3640           Fix problem where we forgot about a probable type on non-seekable
3641           files, and thus later mis-typefound it.
3642
3643 2005-12-09  Michael Smith  <msmith@fluendo.com>
3644
3645         * common/m4/gst-makecontext.m4:
3646         * common/m4/gst-mcsc.m4:
3647         * configure.ac:
3648         * win32/common/config.h:
3649         * win32/common/config.h.in:
3650           Remove makecontext stuff; not used in 0.10 and causes problems on
3651           HPUX according to bug #322441
3652
3653 2005-12-07  Wim Taymans  <wim@fluendo.com>
3654
3655         * tests/check/Makefile.am:
3656         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
3657         (main):
3658         * tests/check/libs/struct_i386.h:
3659         Added ABI check for libs
3660
3661 2005-12-07  Wim Taymans  <wim@fluendo.com>
3662
3663         * tests/check/Makefile.am:
3664         And add the struct_i386.h to dist.
3665
3666 2005-12-07  Wim Taymans  <wim@fluendo.com>
3667
3668         * tests/check/Makefile.am:
3669         * tests/check/gst/.cvsignore:
3670         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
3671         (main):
3672         * tests/check/gst/struct_i386.h:
3673         Added check for ABI compatibility.
3674
3675 2005-12-07  Wim Taymans  <wim@fluendo.com>
3676
3677         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3678         (gst_fake_src_get_times), (gst_fake_src_create):
3679         Fix broken sync option, fixes #323259
3680
3681 2005-12-07  Wim Taymans  <wim@fluendo.com>
3682
3683         * gst/gstbuffer.c:
3684         Small docs update.
3685
3686         * gst/gstcaps.c: (gst_caps_is_equal):
3687         Don't assert on NULL <--> X. Fixes #323260
3688
3689         * gst/gstminiobject.c: (gst_mini_object_replace):
3690         If we're doing atomic operations, we might just as well use
3691         the proper way to get an atomic pointer.
3692
3693         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3694         Clean up debugging.
3695
3696 2005-12-07  Michael Smith  <msmith@fluendo.com>
3697
3698         * gst/parse/grammar.y:
3699           Remove handling of { } for threads.
3700
3701 2005-12-06  David Schleef  <ds@schleef.org>
3702
3703         * libs/gst/base/gstbasetransform.c: speling fix.
3704
3705 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3706
3707         * docs/libs/tmpl/gstdataprotocol.sgml:
3708         * docs/random/omega/testing/gstobject.c:
3709         * gst/gst.c:
3710         * gst/gstclock.c:
3711         * gst/gstelement.c:
3712         * gst/gstelementfactory.c:
3713         * gst/gsterror.c:
3714         * gst/gstevent.c:
3715         * gst/gstghostpad.c:
3716         * gst/gstinfo.c:
3717         * gst/gstpadtemplate.c:
3718         * gst/gstregistryxml.c:
3719         * gst/gsttaglist.c:
3720         * gst/gsttagsetter.c:
3721         * gst/gsttypefind.c:
3722         * gst/gstvalue.c:
3723         * libs/gst/base/gstbasesrc.c:
3724         * libs/gst/net/gstnetclientclock.c:
3725         * libs/gst/net/gstnettimeprovider.c:
3726         * plugins/elements/gstfakesrc.c:
3727         * plugins/elements/gstfdsrc.c:
3728         * plugins/elements/gstfilesrc.c:
3729         * plugins/elements/gstidentity.c:
3730         * plugins/elements/gstqueue.c:
3731         * plugins/elements/gsttypefindelement.c:
3732         * plugins/indexers/gstfileindex.c:
3733         * plugins/indexers/gstmemindex.c:
3734         * tests/check/gst/gsttag.c:
3735         * tests/old/examples/cutter/cutter.c:
3736         * tests/old/examples/mixer/mixer.c:
3737         * tests/old/examples/xml/runxml.c: (main):
3738         * tests/old/testsuite/caps/normalisation.c:
3739         * tests/old/testsuite/debug/global.c:
3740         * tests/old/testsuite/parse/parse1.c:
3741         * tools/gst-xmlinspect.c:
3742         * win32/common/dirent.c:
3743           expand tabs
3744
3745 === release 0.10.0 ===
3746
3747 2005-12-05   <thomas (at) apestaart (dot) org>
3748
3749         * configure.ac:
3750           releasing 0.10.0, "Maroilles"
3751
3752 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3753
3754         submitted by: Funda Wang <fundawang@linux.net.cn>
3755
3756         * po/LINGUAS:
3757         * po/zh_CN.po:
3758           added Chinese (Traditional) translation
3759
3760 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3761
3762         * docs/gst/gstreamer-sections.txt:
3763         * docs/libs/tmpl/gstdataprotocol.sgml:
3764         * docs/random/thomasvs/TODO:
3765         * gst/gstutils.c:
3766         * gst/gstutils.h:
3767           fix docs
3768
3769 2005-12-05  Andy Wingo  <wingo@pobox.com>
3770
3771         patch by: Wim Taymans <wim@fluendo.com>
3772
3773         * libs/gst/base/gstbasetransform.c
3774         (gst_base_transform_prepare_output_buf)
3775         (gst_base_transform_buffer_alloc):
3776         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3777         alloc_buffer_and_set_caps.
3778
3779         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3780         set_caps on the source pad.
3781         (gst_pad_alloc_buffer_and_set_caps): New function, does what
3782         alloc_buffer used to do. Fixes #322874.
3783
3784         * docs/gst/gstreamer-sections.txt: 
3785         * docs/design/part-negotiation.txt: 
3786         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3787         changes.
3788
3789 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3790
3791         patch by: Sebastien Moutte
3792
3793         * win32/MANIFEST:
3794         * win32/common/config.h.in:
3795         * win32/vs6/libgstcontroller.dsp:
3796           win32 build fixes
3797
3798 2005-12-05  Wim Taymans  <wim@fluendo.com>
3799
3800         * gst/gstcaps.c: (gst_caps_is_equal):
3801         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3802         (gst_fake_src_create):
3803         Back out previous code changes, leave doc updates, file bugs 
3804         instead. 
3805
3806 2005-12-05  Wim Taymans  <wim@fluendo.com>
3807
3808         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3809         (gst_fake_src_get_times), (gst_fake_src_create):
3810         * plugins/elements/gstfakesrc.h:
3811         Fix broken sync code.
3812
3813 2005-12-05  Wim Taymans  <wim@fluendo.com>
3814
3815         * gst/gstcaps.c: (gst_caps_is_equal):
3816         Comparing NULL against !NULL yields different caps, not a
3817         failure.
3818
3819 2005-12-05  Wim Taymans  <wim@fluendo.com>
3820
3821         * gst/gstpipeline.c:
3822         Fix small typo in docs.
3823
3824 2005-12-05  Andy Wingo  <wingo@pobox.com>
3825
3826         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3827
3828         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3829         registries/plugins with a MAJORMINOR one.
3830         (plugin_desc): Rename library from gstcoreleements to
3831         staticelements. Fixes #323222.
3832
3833 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3834
3835         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3836           Change debug category to 'collectpads' from 'collect_pads'
3837           (fixes #323250).
3838
3839 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3840
3841         patch by: Sebastien Moutte
3842
3843         * libs/gst/controller/gstinterpolation.c:
3844           use convert function for uint64/double
3845         * win32/vs6/libgstcontroller.dsp:
3846           link to GLib
3847
3848 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3849
3850         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3851         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3852         * gst/gstutils.h:
3853         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3854           add tests that seem to show that the guint64/gdouble conversions
3855           are correct.
3856
3857 2005-12-02  Wim Taymans  <wim@fluendo.com>
3858
3859         * gst/gstregistry.c: (gst_registry_add_path):
3860         * gst/gstregistry.h:
3861         * gst/gstregistryxml.c:
3862         Fix docs again.
3863
3864 2005-12-02  Wim Taymans  <wim@fluendo.com>
3865
3866         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3867         (gst_util_uint64_scale_int):
3868         Small cleanup.
3869
3870         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3871         Add debug log line.
3872
3873         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3874         Add FIXME.
3875
3876 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3877
3878         * win32/MANIFEST:
3879         * win32/common/config.h:
3880         * win32/vs6/gstreamer.dsw:
3881         * win32/vs6/libgstcoreelements.dsp:
3882         * win32/vs6/libgstelements.dsp:
3883           renamed core elements plugin
3884
3885 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3886
3887         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3888         (get_candidates):
3889           do piece-wise major/minor comparison so 0.9 < 0.10
3890           also allow .exe extensions for tools
3891
3892 2005-12-02  Michael Smith  <msmith@fluendo.com>
3893
3894         * gst/gst.c:
3895           Escape a % to make gtkdoc happier; bug 322958.
3896
3897 === release 0.9.7 ===
3898
3899 2005-12-01   <thomas (at) apestaart (dot) org>
3900
3901         * configure.ac:
3902           releasing 0.9.7, "My Dog Has No Nose"
3903
3904 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3905
3906         * common/gst-xmlinspect.py:
3907         * configure.ac:
3908         * docs/libs/tmpl/gstdataprotocol.sgml:
3909         * docs/random/release:
3910         * po/af.po:
3911         * po/az.po:
3912         * po/bg.po:
3913         * po/ca.po:
3914         * po/cs.po:
3915         * po/de.po:
3916         * po/en_GB.po:
3917         * po/fr.po:
3918         * po/it.po:
3919         * po/nb.po:
3920         * po/nl.po:
3921         * po/ru.po:
3922         * po/sq.po:
3923         * po/sr.po:
3924         * po/sv.po:
3925         * po/tr.po:
3926         * po/uk.po:
3927         * po/vi.po:
3928         * win32/common/config.h:
3929         * win32/common/config.h.in:
3930         * win32/vs6/gst_inspect.dsp:
3931         * win32/vs6/gst_launch.dsp:
3932         * win32/vs6/libgstbase.dsp:
3933         * win32/vs6/libgstelements.dsp:
3934         * win32/vs6/libgstreamer.dsp:
3935         * win32/vs7/GStreamer.vcproj:
3936         * win32/vs7/gst-inspect.vcproj:
3937         * win32/vs7/gst-launch.vcproj:
3938         * win32/vs7/libgstbase.vcproj:
3939           bump GST_MAJORMINOR to 0.10
3940           reset libtool version
3941
3942 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3943
3944         * po/LINGUAS:
3945         * po/bg.po:
3946           Added Bulgarian translation by (Alexander Shopov)
3947
3948 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3949
3950         * tests/check/gst/gstplugin.c:
3951           fix test
3952
3953 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3954
3955         * common/gst-xmlinspect.py:
3956         * common/gtk-doc-plugins.mak:
3957         * configure.ac:
3958         * docs/Makefile.am:
3959         * docs/gst/Makefile.am:
3960         * docs/gst/gstreamer-docs.sgml:
3961         * docs/gst/gstreamer-sections.txt:
3962         * docs/gst/gstreamer.types:
3963         * docs/gst/gstreamer.types.in:
3964         * docs/plugins/Makefile.am:
3965         * docs/plugins/gstreamer-plugins-docs.sgml:
3966         * docs/plugins/gstreamer-plugins-sections.txt:
3967         * docs/plugins/gstreamer-plugins.types:
3968         * docs/plugins/inspect.stamp:
3969         * docs/plugins/inspect/plugin-coreelements.xml:
3970         * docs/plugins/inspect/plugin-coreindexers.xml:
3971         * docs/plugins/scanobj-build.stamp:
3972         * gstreamer.spec.in:
3973         * plugins/elements/Makefile.am:
3974         * plugins/elements/gstelements.c:
3975         * plugins/elements/gstfakesink.c:
3976         * plugins/elements/gstfakesrc.c:
3977         * plugins/elements/gstfilesink.c:
3978         * plugins/elements/gstfilesrc.c:
3979         * plugins/elements/gstqueue.c:
3980         * plugins/indexers/Makefile.am:
3981         * plugins/indexers/gstindexers.c:
3982           document core plugins in a separate document just like all the
3983           others
3984           rename these plugins to something starting with core
3985
3986 2005-12-01  Andy Wingo  <wingo@pobox.com>
3987
3988         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3989         padding here before, but it missed the commit.
3990
3991 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3992
3993         * libs/gst/controller/gstinterpolation.c:
3994           whitespace prices have crashed, we should feel free to use some now
3995           use gst_guint64_to_gdouble
3996
3997 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3998
3999         * libs/gst/controller/gstcontroller.c:
4000         * libs/gst/controller/gsthelper.c:
4001         * libs/gst/controller/gstinterpolation.c:
4002         * libs/gst/controller/lib.c:
4003           wrap config.h include
4004
4005 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4006
4007         * docs/gst/gstreamer-sections.txt:
4008           update docs
4009
4010 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4011
4012         * plugins/elements/gstelements.c:
4013         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4014         (gst_fd_sink__class_init), (gst_fd_sink__init),
4015         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4016         (gst_fd_sink__get_property):
4017         * plugins/elements/gstfdsink.h:
4018         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4019         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4020         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4021         (gst_fd_src_unlock), (gst_fd_src_set_property),
4022         (gst_fd_src_get_property), (gst_fd_src_create),
4023         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4024         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4025         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4026         (gst_fd_src_uri_handler_init):
4027         * plugins/elements/gstfdsrc.h:
4028         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4029           more anal cleanup
4030
4031 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4032
4033         * docs/gst/Makefile.am:
4034         * docs/gst/gstreamer.types.in:
4035         * gst/Makefile.am:
4036           fix the docs build
4037
4038 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4039
4040         * configure.ac:
4041         * gst/Makefile.am:
4042         * gst/gst.c:
4043         * gst/gstplugin.h:
4044         * gst/gstregistry.h:
4045         * tests/benchmarks/complexity.c:
4046         * tests/benchmarks/mass-elements.c:
4047         * tests/check/Makefile.am:
4048         * tools/Makefile.am:
4049         * tools/gst-inspect.c:
4050         * tools/gst-xmlinspect.c:
4051           various fixes to make
4052           --disable-nls --disable-registry --disable-loadsave
4053           --disable-parse --disable-gst-debug
4054           work and get the core .so down to 360444 bytes after stripping
4055
4056 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4057
4058         * Makefile.am:
4059         * configure.ac:
4060           descend into tests
4061         * docs/random/thomasvs/TODO:
4062         * tests/Makefile.am:
4063         * tests/README:
4064           add a README
4065
4066 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * win32/GStreamer.vcproj:
4069         * win32/MANIFEST:
4070         * win32/Makefile:
4071         * win32/Makefile.inspect:
4072         * win32/Makefile.launch:
4073         * win32/Makefile.register:
4074         * win32/README.txt:
4075         * win32/gst-inspect.vcproj:
4076         * win32/gst-launch.vcproj:
4077         * win32/gst-register.vcproj:
4078         * win32/gstelements.vcproj:
4079         * win32/gstgetbits.def:
4080         * win32/gstgetbits.vcproj:
4081         * win32/gstreamer-dbg.def:
4082         * win32/gstreamer.def:
4083         * win32/libgstbase.def:
4084         * win32/libgstbase.vcproj:
4085         * win32/link_oldruntime.c:
4086         * win32/mman.c:
4087         * win32/mman.h:
4088         * win32/mman.inl:
4089         * win32/msvc71.sln:
4090           move even more stuff, win32/ is nice and clean now
4091
4092 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4093
4094         * libs/gst/control/.cvsignore:
4095         * win32/MANIFEST:
4096         * win32/config.h:
4097         * win32/dirent.c:
4098         * win32/dirent.h:
4099         * win32/gstbytestream.def:
4100         * win32/gstbytestream.vcproj:
4101         * win32/gstconfig.h:
4102         * win32/gstenumtypes.c:
4103         * win32/gstenumtypes.h:
4104         * win32/gstoptimalscheduler.vcproj:
4105         * win32/gstversion.h:
4106         * win32/gtchar.h:
4107         * win32/testsuite/bins.vcproj:
4108         * win32/testsuite/bytestream.vcproj:
4109         * win32/testsuite/caps.vcproj:
4110         * win32/testsuite/cleanup.vcproj:
4111         * win32/testsuite/clock.vcproj:
4112         * win32/testsuite/debug.vcproj:
4113         * win32/testsuite/dlopen.vcproj:
4114         * win32/testsuite/dynparams.vcproj:
4115         * win32/testsuite/elements.vcproj:
4116         * win32/testsuite/ghostpads.vcproj:
4117         * win32/testsuite/indexers.vcproj:
4118         * win32/testsuite/negotiation.vcproj:
4119         * win32/testsuite/parse.vcproj:
4120         * win32/testsuite/plugin.vcproj:
4121         * win32/testsuite/refcounting.vcproj:
4122         * win32/testsuite/schedulers.vcproj:
4123         * win32/testsuite/states.vcproj:
4124         * win32/testsuite/tags.vcproj:
4125         * win32/testsuite/threads.vcproj:
4126           remove old win32 stuff that isn't maintained and should be
4127           reorganized
4128
4129 2005-11-30  Andy Wingo  <wingo@pobox.com>
4130
4131         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4132         loading the gst.interfaces python module bork.
4133
4134         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4135         available since GLib 2.2. Fixes #318031.
4136
4137 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4138
4139         * Makefile.am:
4140         * check/.cvsignore:
4141         * check/Makefile.am:
4142         * check/elements/.cvsignore:
4143         * check/elements/fakesrc.c:
4144         * check/elements/fdsrc.c:
4145         * check/elements/identity.c:
4146         * check/generic/.cvsignore:
4147         * check/generic/states.c:
4148         * check/gst-libs/.cvsignore:
4149         * check/gst-libs/controller.c:
4150         * check/gst-libs/gdp.c:
4151         * check/gst/.cvsignore:
4152         * check/gst/capslist.h:
4153         * check/gst/gst.c:
4154         * check/gst/gstbin.c:
4155         * check/gst/gstbuffer.c:
4156         * check/gst/gstbus.c:
4157         * check/gst/gstcaps.c:
4158         * check/gst/gstelement.c:
4159         * check/gst/gstevent.c:
4160         * check/gst/gstghostpad.c:
4161         * check/gst/gstiterator.c:
4162         * check/gst/gstmessage.c:
4163         * check/gst/gstminiobject.c:
4164         * check/gst/gstobject.c:
4165         * check/gst/gstpad.c:
4166         * check/gst/gstpipeline.c:
4167         * check/gst/gstplugin.c:
4168         * check/gst/gstsegment.c:
4169         * check/gst/gststructure.c:
4170         * check/gst/gstsystemclock.c:
4171         * check/gst/gsttag.c:
4172         * check/gst/gstutils.c:
4173         * check/gst/gstvalue.c:
4174         * check/net/.cvsignore:
4175         * check/net/gstnetclientclock.c:
4176         * check/net/gstnettimeprovider.c:
4177         * check/pipelines/.cvsignore:
4178         * check/pipelines/cleanup.c:
4179         * check/pipelines/simple_launch_lines.c:
4180         * check/pipelines/stress.c:
4181         * check/states/.cvsignore:
4182         * check/states/sinks.c:
4183         * configure.ac:
4184         * examples/Makefile.am:
4185         * examples/appreader/.cvsignore:
4186         * examples/appreader/Makefile.am:
4187         * examples/appreader/appreader.c:
4188         * examples/controller/.cvsignore:
4189         * examples/controller/Makefile.am:
4190         * examples/controller/audio-example.c:
4191         * examples/cutter/.cvsignore:
4192         * examples/cutter/Makefile.am:
4193         * examples/cutter/cutter.c:
4194         * examples/cutter/cutter.h:
4195         * examples/events/Makefile.am:
4196         * examples/events/seek.c:
4197         * examples/helloworld/.cvsignore:
4198         * examples/helloworld/Makefile.am:
4199         * examples/helloworld/helloworld.c:
4200         * examples/helloworld2/.cvsignore:
4201         * examples/helloworld2/Makefile.am:
4202         * examples/helloworld2/helloworld2.c:
4203         * examples/launch/.cvsignore:
4204         * examples/launch/Makefile.am:
4205         * examples/launch/mp3parselaunch.c:
4206         * examples/launch/mp3play:
4207         * examples/manual/.cvsignore:
4208         * examples/manual/Makefile.am:
4209         * examples/manual/extract.pl:
4210         * examples/metadata/Makefile.am:
4211         * examples/metadata/read-metadata.c:
4212         * examples/mixer/.cvsignore:
4213         * examples/mixer/Makefile.am:
4214         * examples/mixer/mixer.c:
4215         * examples/mixer/mixer.h:
4216         * examples/pingpong/.cvsignore:
4217         * examples/pingpong/Makefile.am:
4218         * examples/pingpong/pingpong.c:
4219         * examples/plugins/.cvsignore:
4220         * examples/plugins/Makefile.am:
4221         * examples/plugins/example.c:
4222         * examples/plugins/example.h:
4223         * examples/pwg/.cvsignore:
4224         * examples/pwg/Makefile.am:
4225         * examples/pwg/extract.pl:
4226         * examples/queue/.cvsignore:
4227         * examples/queue/Makefile.am:
4228         * examples/queue/queue.c:
4229         * examples/queue2/.cvsignore:
4230         * examples/queue2/Makefile.am:
4231         * examples/queue2/queue2.c:
4232         * examples/queue3/.cvsignore:
4233         * examples/queue3/Makefile.am:
4234         * examples/queue3/queue3.c:
4235         * examples/queue4/.cvsignore:
4236         * examples/queue4/Makefile.am:
4237         * examples/queue4/queue4.c:
4238         * examples/retag/.cvsignore:
4239         * examples/retag/Makefile.am:
4240         * examples/retag/retag.c:
4241         * examples/retag/transcode.c:
4242         * examples/thread/.cvsignore:
4243         * examples/thread/Makefile.am:
4244         * examples/thread/thread.c:
4245         * examples/typefind/.cvsignore:
4246         * examples/typefind/Makefile.am:
4247         * examples/typefind/typefind.c:
4248         * examples/xml/.cvsignore:
4249         * examples/xml/Makefile.am:
4250         * examples/xml/createxml.c:
4251         * examples/xml/runxml.c:
4252         * tests/Makefile.am:
4253         * tests/check/Makefile.am:
4254         * testsuite/.cvsignore:
4255         * testsuite/Makefile.am:
4256         * testsuite/Rules:
4257         * testsuite/caps/.cvsignore:
4258         * testsuite/caps/Makefile.am:
4259         * testsuite/caps/app_fixate.c:
4260         * testsuite/caps/audioscale.c:
4261         * testsuite/caps/caps.c:
4262         * testsuite/caps/caps.h:
4263         * testsuite/caps/caps_strings:
4264         * testsuite/caps/compatibility.c:
4265         * testsuite/caps/deserialize.c:
4266         * testsuite/caps/enumcaps.c:
4267         * testsuite/caps/eratosthenes.c:
4268         * testsuite/caps/filtercaps.c:
4269         * testsuite/caps/fixed.c:
4270         * testsuite/caps/fraction-convert.c:
4271         * testsuite/caps/fraction-multiply-and-zero.c:
4272         * testsuite/caps/intersect2.c:
4273         * testsuite/caps/intersection.c:
4274         * testsuite/caps/normalisation.c:
4275         * testsuite/caps/random.c:
4276         * testsuite/caps/renegotiate.c:
4277         * testsuite/caps/sets.c:
4278         * testsuite/caps/simplify.c:
4279         * testsuite/caps/string-conversions.c:
4280         * testsuite/caps/structure.c:
4281         * testsuite/caps/subtract.c:
4282         * testsuite/caps/union.c:
4283         * testsuite/debug/.cvsignore:
4284         * testsuite/debug/Makefile.am:
4285         * testsuite/debug/category.c:
4286         * testsuite/debug/commandline.c:
4287         * testsuite/debug/global.c:
4288         * testsuite/debug/output.c:
4289         * testsuite/debug/printf_extension.c:
4290         * testsuite/dlopen/.cvsignore:
4291         * testsuite/dlopen/Makefile.am:
4292         * testsuite/dlopen/dlopen_gst.c:
4293         * testsuite/dlopen/loadgst.c:
4294         * testsuite/elements/.cvsignore:
4295         * testsuite/elements/Makefile.am:
4296         * testsuite/elements/gst-inspect-check.in:
4297         * testsuite/elements/struct_i386.h:
4298         * testsuite/elements/struct_size.c:
4299         * testsuite/indexers/.cvsignore:
4300         * testsuite/indexers/Makefile.am:
4301         * testsuite/indexers/cache1.c:
4302         * testsuite/indexers/indexdump.c:
4303         * testsuite/parse/.cvsignore:
4304         * testsuite/parse/Makefile.am:
4305         * testsuite/parse/parse1.c:
4306         * testsuite/parse/parse2.c:
4307         * testsuite/plugin/.cvsignore:
4308         * testsuite/plugin/Makefile.am:
4309         * testsuite/plugin/README:
4310         * testsuite/plugin/dynamic.c:
4311         * testsuite/plugin/linked.c:
4312         * testsuite/plugin/loading.c:
4313         * testsuite/plugin/registry.c:
4314         * testsuite/plugin/static.c:
4315         * testsuite/plugin/static2.c:
4316         * testsuite/plugin/testplugin.c:
4317         * testsuite/plugin/testplugin2.c:
4318         * testsuite/plugin/testplugin2_s.c:
4319         * testsuite/plugin/testplugin_s.c:
4320         * testsuite/refcounting/.cvsignore:
4321         * testsuite/refcounting/Makefile.am:
4322         * testsuite/refcounting/bin.c:
4323         * testsuite/refcounting/element.c:
4324         * testsuite/refcounting/element_pad.c:
4325         * testsuite/refcounting/mainloop.c:
4326         * testsuite/refcounting/mem.c:
4327         * testsuite/refcounting/mem.h:
4328         * testsuite/refcounting/object.c:
4329         * testsuite/refcounting/pad.c:
4330         * testsuite/refcounting/sched.c:
4331         * testsuite/refcounting/thread.c:
4332         * testsuite/states/.cvsignore:
4333         * testsuite/states/Makefile.am:
4334         * testsuite/states/bin.c:
4335         * testsuite/states/locked.c:
4336         * testsuite/states/parent.c:
4337         * testsuite/threads/.cvsignore:
4338         * testsuite/threads/159566.c:
4339         * testsuite/threads/159852.c:
4340         * testsuite/threads/Makefile.am:
4341         * testsuite/threads/queue.c:
4342         * testsuite/threads/signals.c:
4343         * testsuite/threads/staticrec.c:
4344         * testsuite/threads/thread.c:
4345         * testsuite/threads/threadb.c:
4346         * testsuite/threads/threadc.c:
4347         * testsuite/threads/threadd.c:
4348         * testsuite/threads/threade.c:
4349         * testsuite/threads/threadf.c:
4350         * testsuite/threads/threadg.c:
4351         * testsuite/threads/threadh.c:
4352         * testsuite/threads/threadi.c:
4353           move all of these under tests
4354
4355 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * configure.ac:
4358         * tests/Makefile.am:
4359           fix distcheck
4360
4361 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4362
4363         * docs/gst/gstreamer-sections.txt:
4364         * tests/sched/.cvsignore:
4365         * tests/sched/Makefile.am:
4366         * tests/sched/cases/(fs-fs).xml:
4367         * tests/sched/cases/(fs-i-fs).xml:
4368         * tests/sched/cases/(fs-i-i-fs).xml:
4369         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4370         * tests/sched/dynamic-pipeline.c:
4371         * tests/sched/interrupt1.c:
4372         * tests/sched/interrupt2.c:
4373         * tests/sched/interrupt3.c:
4374         * tests/sched/runtestcases:
4375         * tests/sched/runxml.c:
4376         * tests/sched/sched-stress.c:
4377         * tests/sched/sort.c:
4378         * tests/sched/testcases:
4379         * tests/sched/testcases1.tc:
4380         * tests/seeking/.cvsignore:
4381         * tests/seeking/Makefile.am:
4382         * tests/seeking/seeking1.c:
4383         * tests/threadstate/.cvsignore:
4384         * tests/threadstate/Makefile.am:
4385         * tests/threadstate/test1.c:
4386         * tests/threadstate/test2.c:
4387         * tests/threadstate/threadstate1.c:
4388         * tests/threadstate/threadstate2.c:
4389         * tests/threadstate/threadstate3.c:
4390         * tests/threadstate/threadstate4.c:
4391         * tests/threadstate/threadstate5.c:
4392           remove obsolete tests
4393         * configure.ac:
4394         * tests/bench-complexity.scm:
4395         * tests/bench-mass_elements.scm:
4396         * tests/complexity.c:
4397         * tests/complexity.gnuplot:
4398         * tests/instantiate/.cvsignore:
4399         * tests/instantiate/Makefile.am:
4400         * tests/instantiate/caps.c:
4401         * tests/mass_elements.c:
4402         * tests/network-clock-utils.scm:
4403         * tests/network-clock.scm:
4404         * tests/plot-data:
4405         First pass at cleaning up tests/ dir before moving the rest
4406         Combined with CVS surgery
4407
4408 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * po/POTFILES.in:
4411           queue has moved, update
4412
4413 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4414
4415         * docs/gst/gstreamer-sections.txt:
4416           remove double entries from the docs
4417         * gst/gst_private.h:
4418         * gst/gstinfo.c: (_gst_debug_init):
4419           remove the THREAD debug category
4420         * gst/Makefile.am:
4421         * gst/gstqueue.c:
4422         * gst/gstqueue.h:
4423         * docs/gst/gstreamer.types:
4424         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4425         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4426           completely move queue and fix up debugging categories
4427
4428 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4431           make initialization portable, using LL is not
4432
4433 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         * win32/common/gstconfig.h:
4436           add large padding
4437
4438 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * win32/common/libgstreamer.def:
4441           rename symbols; sort base section
4442
4443 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4444
4445         * gst/gstclock.c: (do_linear_regression):
4446           remove crack non-portable handrolled DEBUG macro
4447
4448 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4449
4450         * docs/random/release:
4451           update notes
4452         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4453         (gst_object_flags_get_type), (register_gst_bin_flags),
4454         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4455         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4456         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4457         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4458         (gst_caps_flags_get_type), (register_gst_clock_return),
4459         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4460         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4461         (gst_clock_flags_get_type), (register_gst_state),
4462         (gst_state_get_type), (register_gst_state_change_return),
4463         (gst_state_change_return_get_type), (register_gst_state_change),
4464         (gst_state_change_get_type), (register_gst_element_flags),
4465         (gst_element_flags_get_type), (register_gst_core_error),
4466         (gst_core_error_get_type), (register_gst_library_error),
4467         (gst_library_error_get_type), (register_gst_resource_error),
4468         (gst_resource_error_get_type), (register_gst_stream_error),
4469         (gst_stream_error_get_type), (register_gst_event_type_flags),
4470         (gst_event_type_flags_get_type), (register_gst_event_type),
4471         (gst_event_type_get_type), (register_gst_seek_type),
4472         (gst_seek_type_get_type), (register_gst_seek_flags),
4473         (gst_seek_flags_get_type), (register_gst_format),
4474         (gst_format_get_type), (register_gst_index_certainty),
4475         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4476         (gst_index_entry_type_get_type),
4477         (register_gst_index_lookup_method),
4478         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4479         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4480         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4481         (gst_index_flags_get_type), (register_gst_debug_level),
4482         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4483         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4484         (gst_iterator_result_get_type), (register_gst_iterator_item),
4485         (gst_iterator_item_get_type), (register_gst_message_type),
4486         (gst_message_type_get_type), (register_gst_mini_object_flags),
4487         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4488         (gst_pad_link_return_get_type), (register_gst_flow_return),
4489         (gst_flow_return_get_type), (register_gst_activate_mode),
4490         (gst_activate_mode_get_type), (register_gst_pad_direction),
4491         (gst_pad_direction_get_type), (register_gst_pad_flags),
4492         (gst_pad_flags_get_type), (register_gst_pad_presence),
4493         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4494         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4495         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4496         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4497         (gst_plugin_flags_get_type), (register_gst_rank),
4498         (gst_rank_get_type), (register_gst_query_type),
4499         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4500         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4501         (gst_tag_flag_get_type), (register_gst_task_state),
4502         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4503         (gst_alloc_trace_flags_get_type),
4504         (register_gst_type_find_probability),
4505         (gst_type_find_probability_get_type), (register_gst_uri_type),
4506         (gst_uri_type_get_type), (register_gst_parse_error),
4507         (gst_parse_error_get_type):
4508         * win32/common/gstenumtypes.h:
4509         * win32/common/gstversion.h:
4510           update visual studio generated files
4511
4512 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4513
4514         * win32/vs6/libgstbase.dsp:
4515         * win32/vs6/libgstelements.dsp:
4516           update project files for new locations
4517
4518 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4519
4520         * Makefile.am:
4521           remove some files
4522         * README:
4523           reinstate and update
4524         * DEVEL:
4525         * REQUIREMENTS:
4526           removed
4527         * LICENSE:
4528         * docs/random/LICENSE:
4529           moved to random
4530
4531 2005-11-30  Edward Hervey  <edward@fluendo.com>
4532
4533         * gst/gsttypefind.c: (gst_type_find_register):
4534         * gst/gsttypefind.h:
4535         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
4536         (gst_type_find_factory_dispose):
4537         * gst/gsttypefindfactory.h:
4538         Fix memory leak in GstTypeFindFactory.
4539
4540 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4541
4542         * gst/gst.c:
4543         * plugins/elements/Makefile.am:
4544         * plugins/elements/gstelements.c:
4545         * plugins/elements/gstqueue.c:
4546           move queue from core to the elements plugin
4547
4548 2005-11-29  Andy Wingo  <wingo@pobox.com>
4549
4550         * libs/gst/base/gstbasetransform.h: 
4551         * libs/gst/base/gstbasesrc.h: 
4552         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
4553
4554         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
4555         of pointers by which to pad very extensible base classes (like the
4556         ones in libs/gst/base).
4557
4558 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4559
4560         * docs/gst/gstreamer-docs.sgml:
4561         * docs/gst/gstreamer-sections.txt:
4562         * docs/libs/gstreamer-libs-docs.sgml:
4563         * docs/libs/gstreamer-libs-sections.txt:
4564           moving documentation from core to lib
4565
4566 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4567
4568         * check/Makefile.am:
4569         * configure.ac:
4570         * docs/gst/Makefile.am:
4571         * gst/Makefile.am:
4572         * gst/base/.cvsignore:
4573         * gst/base/Makefile.am:
4574         * gst/base/README:
4575         * gst/base/gstadapter.c:
4576         * gst/base/gstadapter.h:
4577         * gst/base/gstbasesink.c:
4578         * gst/base/gstbasesink.h:
4579         * gst/base/gstbasesrc.c:
4580         * gst/base/gstbasesrc.h:
4581         * gst/base/gstbasetransform.c:
4582         * gst/base/gstbasetransform.h:
4583         * gst/base/gstcollectpads.c:
4584         * gst/base/gstcollectpads.h:
4585         * gst/base/gstpushsrc.c:
4586         * gst/base/gstpushsrc.h:
4587         * gst/base/gsttypefindhelper.c:
4588         * gst/base/gsttypefindhelper.h:
4589         * gst/check/Makefile.am:
4590         * gst/check/gstcheck.c:
4591         * gst/check/gstcheck.h:
4592         * gst/net/Makefile.am:
4593         * gst/net/gstnet.h:
4594         * gst/net/gstnetclientclock.c:
4595         * gst/net/gstnetclientclock.h:
4596         * gst/net/gstnettimepacket.c:
4597         * gst/net/gstnettimepacket.h:
4598         * gst/net/gstnettimeprovider.c:
4599         * gst/net/gstnettimeprovider.h:
4600         * libs/gst/Makefile.am:
4601         * libs/gst/base/Makefile.am:
4602         * libs/gst/base/gstbasetransform.c:
4603         * libs/gst/check/Makefile.am:
4604         * plugins/elements/Makefile.am:
4605         * po/POTFILES.in:
4606           CVS surgery + support to move base, check, and net out of gst
4607           and into libs/gst
4608
4609 2005-11-29  Andy Wingo  <wingo@pobox.com>
4610
4611         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
4612
4613         * gst/gststructure.h (struct _GstStructure): Only one pointer of
4614         padding.
4615
4616         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
4617
4618         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
4619
4620         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
4621
4622         * gst/gstobject.h: (struct _GstObject): Only one pointer of
4623         padding; reduces object size by about 30%. We don't expect
4624         anything else to go into gstobject.
4625
4626         * gst/gstminiobject.h (struct _GstMiniObject)
4627         (struct _GstMiniObjectClass): Only one pointer of padding; the
4628         payload is only a pointer and two ints anyway. For the class there
4629         are only two methods as well.
4630         
4631         * gst/gstelement.h (struct _GstElementClass): Removed
4632         the state_changed signal callback, it is not used.
4633
4634 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4635
4636         * docs/gst/gstreamer.types:
4637           fix includes, though they are a little dinky
4638
4639 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4640
4641         * check/Makefile.am:
4642           look in the right place for elements, a lot more chance of
4643           success
4644         * gst/Makefile.am:
4645           remove indexers and elements subdirs
4646         * plugins/Makefile.am:
4647           make indexers conditional
4648
4649 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4650
4651         * Makefile.am:
4652         * configure.ac:
4653         * plugins/elements/Makefile.am:
4654         * plugins/elements/gstcapsfilter.c:
4655         * plugins/elements/gstfilesink.c:
4656         * plugins/elements/gstfilesrc.c:
4657         * plugins/elements/gstidentity.c:
4658         * plugins/indexers/Makefile.am:
4659           do CVS surgery and related build fixery to move elements
4660           and indexers in a new gstreamer/plugins directory, out of the
4661           gst/ directory
4662
4663 2005-11-29  Andy Wingo  <wingo@pobox.com>
4664
4665         * check/Makefile.am:
4666         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4667         * pkgconfig/gstreamer-net.pc.in:
4668         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
4669         #322257.
4670
4671 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4672
4673         * tools/Makefile.am:
4674         * tools/gst-complete.1.in:
4675         * tools/gst-complete.c:
4676         * tools/gst-compprep.1.in:
4677         * tools/gst-compprep.c:
4678           removing -compprep and -complete
4679
4680 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4681
4682         * gst/gstevent.c: (gst_event_new_new_segment),
4683         (gst_event_parse_new_segment):
4684         * gst/gstevent.h:
4685           fix #320529 - clean up new_segment API and structure.
4686           Let's hope everyone was using the methods, and not the structure.
4687
4688 2005-11-29  Edward Hervey  <edward@fluendo.com>
4689
4690         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4691         (gst_base_sink_event), (gst_base_sink_do_sync),
4692         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4693         Properly handle non GST_FORMAT_TIME segment
4694         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4695         Properly handle non GST_FORMAT_TIME segment
4696         * gst/gstsegment.c:
4697         This function is valid if the accumulator is 0 and the format
4698         is different from the requested format.
4699         
4700 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4701
4702         * docs/gst/gstreamer-sections.txt:
4703         Add gst_query_new_seeking and gst_query_parse_seeking to the
4704         docs.
4705
4706 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4707
4708         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4709           Treat a pad alloc with new caps the same as if we were not
4710           negotiated, in order to allow a changing upstream output
4711           to produce a new format of data.
4712
4713 2005-11-29  Edward Hervey  <edward@fluendo.com>
4714
4715         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4716         (gst_base_transform_event), (gst_base_transform_eventfunc):
4717         The event virtual method is now properly implemented, with a default
4718         handler
4719         Sub classes should call the parent_class event method. They should
4720         return FALSE if they had a problem handling the given event, or don't
4721         want GstBaseTransform to send that even downstream
4722         * gst/elements/gstidentity.c: (gst_identity_class_init),
4723         (gst_identity_init), (gst_identity_event),
4724         (gst_identity_transform_ip), (gst_identity_set_property),
4725         (gst_identity_get_property):
4726         * gst/elements/gstidentity.h:
4727         Added the single-segment boolean property.
4728         If set to TRUE, it will output a single segment of data, starting from
4729         0, will eat up all incoming newsegment, and modify the timestamp of the
4730         buffers accordingly
4731
4732 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
4733
4734         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4735           Don't ref NULL target pad (#322751). Improve docs.
4736
4737 2005-11-29  Michael Smith  <msmith@fluendo.com>
4738
4739         * gst/gstregistryxml.c: (load_plugin):
4740           Don't crash if we failed to load a feature from a plugin. 
4741
4742 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4743
4744         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4745         (GST_START_TEST):
4746           use more check API and less GLib API
4747
4748 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * Makefile.am:
4751           don't run checks if we don't have check
4752         * common/check.mak:
4753           remove the registry when running make torture
4754         * docs/gst/gstreamer-sections.txt:
4755           remove second multiply
4756         * gst/gstqueue.c: (gst_queue_loop):
4757           fix a compile warning when disabling debug
4758
4759 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4760
4761         * gst/gstinfo.h:
4762         Hey! Let's print the pad name if the pointer != NULL instead
4763         of when it == NULL :-)
4764
4765 2005-11-28  Wim Taymans  <wim@fluendo.com>
4766
4767         * check/gst/gstutils.c: (GST_START_TEST):
4768         Updated check, add some scaling accuracy checking code.
4769
4770         * gst/gstutils.c: (gst_util_div128_64),
4771         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4772         (gst_util_uint64_scale_int):
4773         Fix 6 times faster division code. Optimize for common 
4774         1/1 and less common X/1 cases.
4775
4776 2005-11-28  Wim Taymans  <wim@fluendo.com>
4777
4778         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4779         More checks.
4780
4781         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4782         (do_linear_regression), (gst_clock_add_observation):
4783         Cleanups.
4784         Release lock when the clock cannot be slaved.
4785         Catch the case where the regression returned an invalid denominator.
4786
4787         * gst/gstutils.c: (gst_util_div128_64_iterate),
4788         (gst_util_div128_64), (gst_util_uint64_scale_int64),
4789         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4790         Add protentially more performant non-iterative 128/64 divide function
4791         that unfortunatly does not work yet.
4792         Shortcut the trivial 0/X = 0 case.
4793         Remove the warnings on overflow.
4794
4795 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * gst/gstplugin.c: (gst_plugin_register_func):
4798           everything causing a plugin not to load should be at least a WARNING
4799
4800 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
4801
4802         * docs/random/ensonic/dparams.txt:
4803           some TODOs for the next dev cycle
4804         * libs/gst/controller/gstcontroller.c:
4805         (gst_controlled_property_set_interpolation_mode),
4806         (gst_controlled_property_new):
4807         * libs/gst/controller/gstcontroller.h:
4808           use base type to assign acccessor functions
4809
4810 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4811
4812         * check/Makefile.am:
4813         Oops, that should have been top_srcdir
4814
4815 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4816
4817         * check/Makefile.am:
4818         * check/elements/fdsrc.c: (GST_START_TEST):
4819         Use a cmdline define to specify the location of a file to use for
4820         testing, to avoid breaking distcheck.
4821
4822 2005-11-28  Andy Wingo  <wingo@pobox.com>
4823
4824         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4825
4826 2005-11-28  Edward Hervey  <edward@fluendo.com>
4827
4828         * tools/gst-launch.c: (main):
4829         Clarify the output strings, makes it easier to translate.
4830         Fixes #322626
4831
4832 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4833
4834         * gst/Makefile.am:
4835           don't try and build net if we don't even have <sys/socket.h>
4836
4837 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4838
4839         * check/Makefile.am:
4840         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4841         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4842           Add tests for fdsrc seekability
4843
4844         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4845         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4846         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4847         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4848         * gst/elements/gstfdsrc.h:
4849           fdsrc should not be a 'live' source.
4850           Implement seeking on seekable fd's.
4851
4852         * gst/gstquery.c: (gst_query_new_seeking),
4853         (gst_query_parse_seeking):
4854         * gst/gstquery.h:
4855           Implement SEEKING query functions: 
4856             *_new_seeking and *_parse_seeking
4857
4858 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4859
4860         * gst/gstelement.c: (gst_element_dispose):
4861           don't loop forever
4862
4863         * gst/gstiterator.c:
4864         * gst/gststructure.c:
4865           doc fixes
4866
4867         * libs/gst/controller/gstcontroller.c:
4868         (gst_controlled_property_set_interpolation_mode):
4869         * libs/gst/controller/gstcontroller.h:
4870         * libs/gst/controller/gstinterpolation.c:
4871         (interpolate_none_get_enum_value_array):
4872           support controlling enums
4873
4874 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4875
4876         * gst/gstvalue.c:
4877           Improve documentation for gst_value_union().
4878
4879         * gst/gstvalue.h:
4880           Change return value for union, intersect and subtract functions
4881           from gint to gboolean.
4882
4883 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4884
4885         * gst/gstvalue.c: (gst_value_serialize_any_list),
4886         (gst_value_transform_any_list_string),
4887         (gst_value_deserialize_list), (gst_value_deserialize_array),
4888         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4889         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4890         (gst_value_set_fraction_range_full),
4891         (gst_value_deserialize_fraction_range),
4892         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4893         (gst_value_deserialize_boolean),
4894         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4895         (gst_value_serialize_float), (gst_value_deserialize_float),
4896         (gst_string_wrap), (gst_value_deserialize_string),
4897         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4898         (gst_value_union_int_range_int_range),
4899         (gst_value_intersect_int_range_int_range),
4900         (gst_value_intersect_double_range_double_range),
4901         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4902         (gst_value_subtract_int_range_int_range),
4903         (gst_value_subtract_double_double_range),
4904         (gst_value_subtract_double_range_double_range),
4905         (gst_value_deserialize_fraction):
4906         * gst/gstvalue.h:
4907           Use gint, gdouble and gchar in our API instead of int, double and
4908           char (and make usage in gstvalue.c more consistent).
4909
4910 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4911
4912         * check/Makefile.am:
4913         * libs/gst/controller/Makefile.am:
4914         * libs/gst/dataprotocol/Makefile.am:
4915           fix up Makefile.am and remove GST_ENABLE_NEW
4916
4917 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4918
4919         * configure.ac:
4920         * gst/Makefile.am:
4921         * gst/base/Makefile.am:
4922         * gst/check/Makefile.am:
4923         * gst/elements/Makefile.am:
4924         * gst/net/Makefile.am:
4925           update LDFLAGS use some more
4926
4927 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4928
4929         * common/m4/gst-doc.m4:
4930           Fixes #312589
4931
4932 2005-11-26  Edward Hervey  <edward@fluendo.com>
4933
4934         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4935         This shouldn't issue a g_warning since it returns NULL if it
4936         couldn't find the plugin, and all functions using this behave
4937         properly on a NULL return. Switching to a GST_WARNING.
4938
4939 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4940
4941         * gst/gstbin.c: (gst_bin_handle_message_func):
4942         Don't leak clock messages.
4943
4944 2005-11-25  Wim Taymans  <wim@fluendo.com>
4945
4946         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4947         (gst_util_uint64_scale_int):
4948         Optimisations, remove unneeded vars.
4949
4950 2005-11-25  Wim Taymans  <wim@fluendo.com>
4951
4952         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4953         Added more checks for the high precision uint64 cases.
4954
4955         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4956         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4957         Implement high precision (guint64 * guint64) / guint64.
4958
4959 2005-11-24  Wim Taymans  <wim@fluendo.com>
4960
4961         * gst/base/gstbasesrc.c: (gst_base_src_query):
4962         Fix wrong percentage query.
4963
4964         * gst/gstutils.c: (gst_util_uint64_scale),
4965         (gst_util_uint64_scale_int):
4966         Add some more common cases that can be handled 
4967         efficiently to _scale.
4968
4969 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4970
4971         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4972         (gst_mini_object_suite):
4973           don't use check calls from threads; check probably isn't
4974           threadsafe and using a lock to make it threadsafe would
4975           defeat the purpose of this check
4976         * gst/check/gstcheck.c:
4977         * gst/check/gstcheck.h:
4978           use GST_DEBUG some more
4979
4980 2005-11-24  Wim Taymans  <wim@fluendo.com>
4981
4982         * gst/gstutils.c: (gst_util_uint64_scale),
4983         (gst_util_uint64_scale_int):
4984         Chain trivial case to _scale_int.
4985
4986 2005-11-24  Wim Taymans  <wim@fluendo.com>
4987
4988         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4989         Added test for scaling.
4990
4991         * gst/gstclock.h:
4992         Small doc fix.
4993
4994         * gst/gstutils.c: (gst_util_uint64_scale_int):
4995         Implemented high precision scaling code.
4996
4997 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
4998
4999         * gst/gstinfo.h:
5000           do not crash on pad==NULL
5001
5002 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5003
5004         Patch by: Stefan Kost
5005
5006         * common/gtk-doc.mak:
5007         * docs/gst/Makefile.am:
5008         * docs/libs/Makefile.am:
5009           Fix distcheck issues for the libraries docs build
5010           Closes #319599.
5011
5012 2005-11-24  Michael Smith <msmith@fluendo.com>
5013
5014         * docs/manual/basics-helloworld.xml:
5015           Fix bug #315027: memory leak in example code in docs.
5016
5017 2005-11-24  Michael Smith <msmith@fluendo.com>
5018
5019         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5020           Unlock the PREROLL_LOCK in a failure case.
5021
5022 2005-11-24  Wim Taymans  <wim@fluendo.com>
5023
5024         * docs/gst/gstreamer-sections.txt:
5025         * gst/base/gstadapter.h:
5026         * gst/base/gstbasesink.h:
5027         * gst/base/gstbasesrc.h:
5028         * gst/base/gstbasetransform.h:
5029         * gst/base/gstpushsrc.h:
5030         * gst/elements/gstfakesink.h:
5031         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5032         * gst/elements/gstfakesrc.h:
5033         * gst/elements/gstfilesink.h:
5034         * gst/elements/gstfilesrc.h:
5035         * gst/gst.c:
5036         * gst/gstbin.c:
5037         * gst/gstbuffer.c: (_gst_buffer_copy):
5038         * gst/gstbus.h:
5039         * gst/gstcaps.c:
5040         * gst/gstchildproxy.c:
5041         * gst/gstclock.c:
5042         * gst/gstelement.c:
5043         * gst/gstelementfactory.c:
5044         * gst/gstelementfactory.h:
5045         * gst/gstevent.c:
5046         * gst/gstghostpad.h:
5047         * gst/gstindex.h:
5048         * gst/gstinterface.h:
5049         * gst/gstminiobject.c:
5050         * gst/gstminiobject.h:
5051         * gst/gstpad.c:
5052         * gst/gstpad.h:
5053         * gst/gstpadtemplate.h:
5054         * gst/gstpipeline.h:
5055         * gst/gstpluginfeature.h:
5056         * gst/gstquery.h:
5057         * gst/gstqueue.h:
5058         * gst/gsttaglist.c:
5059         * gst/gsttaglist.h:
5060         * gst/gsttagsetter.c:
5061         * gst/gsttagsetter.h:
5062         * gst/gsttrace.c:
5063         * gst/gsttrace.h:
5064         * gst/gsttypefind.h:
5065         * gst/gsturi.h:
5066         * gst/gstvalue.c:
5067         * gst/net/gstnetclientclock.c:
5068         * gst/net/gstnetclientclock.h:
5069         * gst/net/gstnettimepacket.c:
5070         * gst/net/gstnettimeprovider.c:
5071         * gst/net/gstnettimeprovider.h:
5072         Doc fixes.
5073
5074 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         * configure.ac: back to HEAD
5077
5078 === release 0.9.6 ===
5079
5080 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5081
5082         * configure.ac:
5083           releasing 0.9.6, "Always On Time"
5084
5085 2005-11-23  Wim Taymans  <wim@fluendo.com>
5086
5087         * docs/gst/gstreamer-sections.txt:
5088         * gst/glib-compat.c:
5089         * gst/gsttagsetter.c:
5090         * gst/gstvalue.c:
5091         * gst/net/gstnetclientclock.c:
5092         * gst/net/gstnettimepacket.h:
5093         Doc updates.
5094
5095 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * docs/faq/using.xml:
5098         * docs/libs/tmpl/gstcontrol.sgml:
5099         * docs/manual/advanced-dparams.xml:
5100         * docs/manual/appendix-checklist.xml:
5101         * docs/manual/basics-elements.xml:
5102         * docs/pwg/other-source.xml:
5103         * docs/random/moving-plugins:
5104         * gst/gstpad.c:
5105         * tools/gst-launch.1.in:
5106           remove mentions of sinesrc
5107
5108 2005-11-23  Michael Smith <msmith@fluendo.com>
5109
5110         * docs/gst/gstreamer-sections.txt:
5111           Update for new API and API changes.
5112         * gst/gstobject.h:
5113           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5114         * gst/gstvalue.c:
5115           Documentation typo fix.
5116         * gst/net/gstnettimepacket.c:
5117           Documentation fixes for arguments.
5118
5119 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5120
5121         * gst/gststructure.c: (gst_structure_get_fraction),
5122         (gst_structure_parse_value),
5123         (gst_structure_fixate_field_nearest_fraction):
5124         * gst/gststructure.h:
5125         * gst/gstutils.c: (gst_util_uint64_scale_int):
5126         * gst/gstutils.h:
5127         * scripts/update-funcnames:
5128         API Changes. 
5129         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5130         Make gst_structure_fixate_field_nearest_fraction take a numerator
5131         and denominator argument instead of a GValue
5132         add gst_structure_get_fraction helper function.
5133
5134 2005-11-23  Wim Taymans  <wim@fluendo.com>
5135
5136         * docs/design/part-TODO.txt:
5137         Update TODO.
5138
5139         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5140         * gst/net/gstnetclientclock.h:
5141         Use parent fields for timeout and window_size.
5142
5143 2005-11-23  Andy Wingo  <wingo@pobox.com>
5144
5145         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5146         rate_num/rate_denom change.
5147
5148         * gst/net/gstnetclientclock.c
5149         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5150         OBJECT_LOCK. Don't call add_observation with the lock.
5151
5152         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5153         fraction.
5154         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5155         rate fraction.
5156         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5157         deal with rate as a fraction whose numerator and denominator are
5158         GstClockTime values.
5159         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5160         master; the other fields are protected by the SLAVE_LOCK.
5161         (do_linear_regression): Note that this must be called with the
5162         SLAVE_LOCK.
5163         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5164         OBJECT_LOCK. Call set_calibration instead of touching the
5165         variables directly.
5166         (gst_clock_set_property, gst_clock_get_property): Protect
5167         master/slave parameters with the SLAVE_LOCK.
5168
5169         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5170         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5171         note that all of the instance variables that add_observation and
5172         the set_master functions use are protected by that lock and not
5173         the OBJECT_LOCK.
5174         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5175
5176         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5177         the caller to take the object lock.
5178
5179 2005-11-23  Wim Taymans  <wim@fluendo.com>
5180
5181         * gst/gsterror.c: (_gst_core_errors_init):
5182         * gst/gsterror.h:
5183         Add error for clock stuff.
5184
5185         * gst/gstpipeline.c: (gst_pipeline_change_state),
5186         (gst_pipeline_set_clock):
5187         Post clock error when clock cannot be used in a pipeline.
5188
5189 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5190
5191         * docs/gst/gstreamer-sections.txt:
5192           make two symbols from gstinfo private for the docs
5193         * gst/base/gstcollectpads.h:
5194         * gst/gstutils.c:
5195           fix doc typos, update docs
5196
5197 2005-11-22  Wim Taymans  <wim@fluendo.com>
5198
5199         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5200         (gst_base_sink_wait), (gst_base_sink_do_sync),
5201         (gst_base_sink_handle_event):
5202         * gst/base/gstbasesink.h:
5203         No need to store the clock, the parent element class already
5204         has it.
5205
5206         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5207         Updates for clock_set returning a gboolean
5208
5209         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5210         (gst_clock_id_wait_async), (gst_clock_class_init),
5211         (gst_clock_init), (gst_clock_finalize),
5212         (gst_clock_get_internal_time), (gst_clock_get_time),
5213         (gst_clock_slave_callback), (gst_clock_set_master),
5214         (gst_clock_get_master), (do_linear_regression),
5215         (gst_clock_add_observation), (gst_clock_set_property),
5216         (gst_clock_get_property):
5217         * gst/gstclock.h:
5218         Implement master/slave. When setting a clock as a slave, a
5219         periodic timeout is scheduled to sample master and slave times.
5220         Then the slave clock is recalibrated to match offset and rate
5221         of the master clock.
5222         Update logging a bit.
5223         Add flag so that a clock can state that is cannot be slaved to
5224         another clock.
5225
5226         * gst/gstelement.c: (gst_element_set_clock):
5227         * gst/gstelement.h:
5228         The set clock returns a gboolean for when an element cannot
5229         deal with the selected clock in the pipeline. 
5230
5231         * gst/gstpipeline.c: (gst_pipeline_change_state),
5232         (gst_pipeline_set_clock):
5233         * gst/gstpipeline.h:
5234         Handle the case where the selected clock cannot be set on
5235         the pipeline.
5236
5237         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5238         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5239         (gst_net_client_clock_set_property),
5240         (gst_net_client_clock_get_property),
5241         (gst_net_client_clock_observe_times):
5242         * gst/net/gstnetclientclock.h:
5243         Use regression code in GstClock parent, remove duplicated
5244         functionality.
5245
5246 2005-11-22  Michael Smith <msmith@fluendo.com>
5247
5248         * gst/gstutils.c: (gst_util_clock_time_scale):
5249         * gst/gstutils.h:
5250         * docs/gst/gstreamer-sections.txt:
5251           Rename method to have extra underscore.
5252
5253 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * gst/elements/Makefile.am:
5256         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5257         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5258         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5259         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5260         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5261         * gst/elements/gstfakesrc.h:
5262         * gst/gstqueue.c: (queue_leaky_get_type):
5263           correctly fix GEnumValues so that nick is the short lowercase
5264           dashed tag
5265         * tools/gst-inspect.c: (print_element_properties_info):
5266           also show the nick, since it's useful to use from parse_launch
5267           syntax
5268           Fixes #322139
5269
5270 2005-11-22  Michael Smith <msmith@fluendo.com>
5271
5272         * gst/gstutils.c: (gst_util_clocktime_scale):
5273         * gst/gstutils.h:
5274         * docs/gst/gstreamer-sections.txt:
5275           Add util method for scaling a clocktime by a fraction. Useful 
5276           implementation is left as an exercise for the reader.
5277
5278 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5279
5280         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5281         If needed, allocate storage in the destination value during
5282         collection.
5283
5284 2005-11-22  Edward Hervey  <edward@fluendo.com>
5285
5286         * docs/gst/gstreamer-sections.txt:
5287         * gst/Makefile.am:
5288         * gst/gst.h:
5289         * gst/gsturitype.c:
5290         * gst/gsturitype.h:
5291         * gst/gstutils.c: (gst_util_set_object_arg):
5292         * tools/gst-compprep.c: (main):
5293         * tools/gst-inspect.c: (print_element_properties_info):
5294         Removed GstURI, closes bug #321061
5295
5296 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5297
5298         * check/gst/gststructure.c: (GST_START_TEST):
5299         * gst/gststructure.c: (gst_structure_parse_value):
5300           Oops, broke automatic string type parsing.
5301           Add a test to catch it in future.
5302
5303 2005-11-22  Andy Wingo  <wingo@pobox.com>
5304
5305         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5306         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5307         Actually rename the function implementations. Grr.
5308
5309 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5310
5311         * check/gst/capslist.h:
5312           Comment test cases
5313         * check/gst/gststructure.c: (GST_START_TEST),
5314         (gst_structure_suite):
5315           Test automatic value type detection in gst_structure_from_string.
5316         * gst/gststructure.c: (gst_structure_parse_value):
5317           Add fraction as a type we try and guess automatically in
5318           caps/structure strings.
5319
5320 2005-11-22  Andy Wingo  <wingo@pobox.com>
5321
5322         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5323
5324         * gst/gsttagsetter.h:
5325         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5326         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5327         (gst_tag_setter_add_tag_valist)
5328         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5329         _add_values, _add_valist, and _add_valist_values. Since this is an
5330         interface the function suffixes should be more explicit so
5331         language binding don't end up with element.add_valist ->
5332         gst_tag_setter_add_valist, for example. Fixes #322069.
5333
5334 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5335
5336         * check/gst/gstcaps.c: (GST_START_TEST):
5337           Extend caps string tests to check that a caps to string
5338           conversion is reversible and produces the same caps.
5339
5340         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5341           Output "fraction" as the generic type fraction range, so caps
5342           serialisation and deserialisation works.
5343         * check/gst/capslist.h:
5344         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5345           Support 'MIN' and 'MAX' for deserialising fractions.
5346
5347 2005-11-22  Andy Wingo  <wingo@pobox.com>
5348
5349         * gst/gstevent.h (gst_event_new_new_segment)
5350         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5351         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5352         Renamed from *_newsegment, *_buffersize, *_notarget.
5353
5354         * scripts/update-funcnames: New script, performs the changes
5355         listed above.
5356
5357 2005-11-22  Wim Taymans  <wim@fluendo.com>
5358
5359         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5360         Make sure the GstFlowReturn is returned.
5361
5362         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5363         (gst_bus_add_signal_watch):
5364         * gst/gstbus.h:
5365         add gst_bus_add_signal_watch_full.
5366
5367         * gst/gstplugin.c: (gst_plugin_load_file):
5368         Small style cleanup.
5369
5370 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5371
5372         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5373           Block the fakesrc srcpad when we send an event, to avoid
5374           contention on the stream_lock causing random test failures.
5375
5376 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5377
5378         * check/gst/gstvalue.c: (GST_START_TEST):
5379         * gst/gstvalue.c: (gst_value_fraction_subtract):
5380           Fix subtraction.
5381
5382 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5383
5384         * gst/gst.h:
5385           include "gstchildproxy.h"
5386         * gst/gstchildproxy.h:
5387         * libs/gst/controller/gstcontroller.h:
5388           use G_GNUC_NULL_TERMINATED
5389
5390 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5391
5392         * check/gst/capslist.h:
5393         * check/gst/gstcaps.c: (GST_START_TEST):
5394         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5395         * gst/gststructure.c: (gst_structure_parse_range),
5396         (gst_structure_fixate_field_nearest_fraction):
5397         * gst/gststructure.h:
5398         * gst/gstvalue.c: (gst_value_init_fraction_range),
5399         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5400         (gst_value_collect_fraction_range),
5401         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5402         (gst_value_set_fraction_range_full),
5403         (gst_value_get_fraction_range_min),
5404         (gst_value_get_fraction_range_max),
5405         (gst_value_serialize_fraction_range),
5406         (gst_value_transform_fraction_range_string),
5407         (gst_value_compare_fraction_range),
5408         (gst_value_deserialize_fraction_range),
5409         (gst_value_intersect_fraction_fraction_range),
5410         (gst_value_intersect_fraction_range_fraction_range),
5411         (gst_value_subtract_fraction_fraction_range),
5412         (gst_value_subtract_fraction_range_fraction),
5413         (gst_value_subtract_fraction_range_fraction_range),
5414         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5415         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5416         (gst_value_transform_string_fraction), (_gst_value_initialize):
5417         * gst/gstvalue.h:
5418           Implement fraction ranges and extend GstFraction to support
5419           arithmetic subtraction, as well as deserialization from integer
5420           strings such as "100"
5421           Add a testsuite as for int and double range set operations
5422
5423 2005-11-21  Andy Wingo  <wingo@pobox.com>
5424
5425         * gst/gsttaglist.h: 
5426         * gst/gstcaps.h: 
5427         * gst/gststructure.h: Add glib-compat.h.
5428
5429 2005-11-21  Wim Taymans  <wim@fluendo.com>
5430
5431         * gst/gstbin.c: (gst_bin_change_state_func):
5432         Fix for #321595
5433
5434 2005-11-21  Wim Taymans  <wim@fluendo.com>
5435
5436         * gst/gstsegment.h:
5437         And add a nice define too.
5438
5439 2005-11-21  Wim Taymans  <wim@fluendo.com>
5440
5441         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5442         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5443         (gst_segment_set_duration), (gst_segment_set_last_stop),
5444         (gst_segment_set_seek), (gst_segment_set_newsegment),
5445         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5446         (gst_segment_clip):
5447         * gst/gstsegment.h:
5448         Make binding friendly.
5449
5450 2005-11-21  Andy Wingo  <wingo@pobox.com>
5451
5452         * gst/gsttagsetter.h: 
5453         * gst/gsttaglist.h: 
5454         * gst/gststructure.h: 
5455         * gst/gstcaps.h: 
5456         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5457         #319940.
5458
5459         * gst/gsterror.c (_gst_core_errors_init):
5460         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5461         category.
5462
5463         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5464         (noinst_HEADERS): noinst the -private.
5465
5466 2005-11-21  Michael Smith <msmith@fluendo.com>
5467
5468         * gst/gstplugin.h:
5469         * gst/gstregistry.h:
5470           Remove unimplemented declarations for which we can see no sensible
5471           use.
5472
5473 2005-11-21  Andy Wingo  <wingo@pobox.com>
5474
5475         * gst/gst.h: Include glib-compat.h.
5476
5477         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5478
5479         * gst/glib-compat.c: Include the public and the private header.
5480
5481         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5482
5483         * gst/gstvalue.c: 
5484         * gst/gstpad.c: 
5485         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5486
5487         * check/gst/gstevent.c (create_custom_events): Check that
5488         FLUSH_STOP is serialized.
5489
5490         * check/elements/identity.c (event_func): 
5491         * check/elements/fakesrc.c (event_func): No stream lock, the core
5492         takes it.
5493
5494         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5495         stream lock taking, yay.
5496
5497         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5498         ensure that core takes the stream lock.
5499
5500         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5501         lock name change.
5502
5503         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5504         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5505         it already. For the flush start we do take it though so we get the
5506         right preroll state change messages.
5507
5508         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5509         the stream lock here, the core does it for us.
5510
5511         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
5512         GST_STREAM_GET_LOCK.
5513         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
5514         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
5515         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
5516         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
5517         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
5518         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
5519
5520         * gst/gstpad.c: Update for stream lock name change.
5521
5522         * gst/base/gstbasesink.c: Update for preroll lock name change.
5523
5524 2005-11-21  Wim Taymans  <wim@fluendo.com>
5525
5526         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
5527         (gst_clock_get_master):
5528         * gst/gstclock.h:
5529         * gst/gstsystemclock.c: (gst_system_clock_init):
5530         Convert Clock flags to object flags.
5531         Added methods to manage master/slave clocks.
5532
5533 2005-11-21  Wim Taymans  <wim@fluendo.com>
5534
5535         * check/gst/gstsegment.c: (GST_START_TEST):
5536         * docs/design/part-TODO.txt:
5537         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5538         (gst_base_sink_event), (gst_base_sink_do_sync),
5539         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5540         (gst_base_sink_query), (gst_base_sink_change_state):
5541         * gst/base/gstbasesink.h:
5542         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5543         (gst_base_src_default_newsegment),
5544         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5545         (gst_base_src_get_range), (gst_base_src_loop),
5546         (gst_base_src_change_state):
5547         * gst/base/gstbasesrc.h:
5548         * gst/base/gstbasetransform.c:
5549         (gst_base_transform_prepare_output_buf),
5550         (gst_base_transform_event), (gst_base_transform_change_state):
5551         * gst/base/gstbasetransform.h:
5552         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5553         (gst_collect_pads_event):
5554         * gst/base/gstcollectpads.h:
5555         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
5556         (gst_fake_src_create):
5557         * gst/elements/gstfakesrc.h:
5558         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5559         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5560         (gst_segment_set_last_stop), (gst_segment_set_seek),
5561         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5562         (gst_segment_to_running_time), (gst_segment_clip):
5563         * gst/gstsegment.h:
5564         More segment updates, replace code in plugins with segment
5565         helper functions.
5566
5567 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5568
5569         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
5570         Don't ignore sscanf results
5571
5572 2005-11-21  Andy Wingo  <wingo@pobox.com>
5573
5574         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
5575
5576         * *.h:
5577         * *.c: Ran scripts/update-macros. Oh yes.
5578
5579         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
5580         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
5581         GST_GET_LOCK, etc.
5582
5583         * scripts/update-macros: New script. Run it on your files to
5584         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
5585         well.
5586
5587 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5588
5589         * docs/gst/Makefile.am:
5590         * docs/gst/gstreamer-docs.sgml:
5591         * docs/gst/gstreamer-sections.txt:
5592         * docs/gst/gstreamer.types:
5593         * gst/gstinfo.h:
5594           more docs fixes, add new api to the docs
5595
5596 2005-11-21  Andy Wingo  <wingo@pobox.com>
5597
5598         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
5599         state_broadcast call.
5600
5601         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
5602
5603 2005-11-21  Julien MOUTTE  <julien@moutte.net>
5604
5605         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
5606         function calls for arrays.
5607
5608 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5609
5610         * docs/random/ensonic/media-device-daemon.txt:
5611           wild idea, can this be done?
5612         * docs/gst/gstreamer-sections.txt:
5613         * gst/gsterror.h:
5614         * gst/gstfilter.c:
5615         * gst/gstfilter.h:
5616         * gst/gstplugin.h:
5617         * gst/gstpluginfeature.c:
5618         * gst/gsttrace.c:
5619         * gst/gstvalue.c:
5620         * gst/gstvalue.h:
5621           doc fixes and additions
5622
5623 2005-11-21  Andy Wingo  <wingo@pobox.com>
5624
5625         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
5626         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
5627         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
5628         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
5629         private to the basesrc implementation.
5630
5631         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
5632         behalf of event function if necessary. It should no longer be
5633         necessary to take the stream lock in pad's event functions. Fixes
5634         #320299.
5635
5636 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5637         * docs/gst/gstreamer-sections.txt:
5638         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
5639         (gst_structure_fixate_field_nearest_double),
5640         (gst_structure_fixate_field_boolean):
5641         * gst/gststructure.h:
5642         * win32/common/libgstreamer.def:
5643         * win32/gstreamer.def:
5644
5645         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
5646         (#322027)
5647
5648 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5649
5650         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
5651         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
5652         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
5653         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
5654         (gst_fdsrc_uri_handler_init):
5655         * gst/elements/gstfdsrc.h:
5656           Port fd:// URI handler from 0.8 to fdsrc
5657
5658 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5659
5660         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
5661         (gst_value_serialize_fourcc):
5662         * gst/gstvalue.h:
5663           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
5664           consistent with our other format defines (#320324).
5665
5666 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5667
5668         * gst/gstvalue.c: (gst_value_is_fixed):
5669           Revert previous commit. Value lists are by definition
5670           not fixed, as they are a list of possible values.
5671
5672 2005-11-21  Andy Wingo  <wingo@pobox.com>
5673
5674         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
5675         during the stable series if we need it. Fixes #319178.
5676
5677         * gst/gstevent.c (gst_event_new_filler): Removed.
5678
5679         * check/gst/gstevent.c: Update comment about filler events.
5680
5681 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5682
5683         * gst/gstvalue.c: (gst_value_is_fixed):
5684           Should handle both value arrays and value lists.
5685
5686 2005-11-21  Andy Wingo  <wingo@pobox.com>
5687
5688         patch by: Alessandro Dessina <alessandro nnva org>
5689
5690         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
5691         functions to access arrays. Fixes #321962.
5692
5693 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5694
5695         * docs/gst/gstreamer.types:
5696           gst_collectpads_get_type => gst_collect_pads_get_type.
5697           
5698         * gst/base/gstbasetransform.c:
5699           Remove unused SIGNAL_HANDOFF enum.
5700
5701 2005-11-21  Andy Wingo  <wingo@pobox.com>
5702
5703         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
5704         the event type (upstream, downstream, serialized). Renamed
5705         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
5706         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
5707         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
5708
5709         * gst/gstevent.c: Update for new CUSTOM event names.
5710
5711         * check/gst/gstevent.c: Update check for new CUSTOM event names.
5712
5713         * gst/gstevent.h:
5714         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
5715         bug #319392.
5716
5717 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5718
5719         * docs/gst/gstreamer-sections.txt:
5720         * win32/common/libgstbase.def:
5721         * win32/libgstbase.def:
5722         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5723         (gst_collect_pads_class_init), (gst_collect_pads_init),
5724         (gst_collect_pads_finalize), (gst_collect_pads_new),
5725         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5726         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5727         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5728         (gst_collect_pads_start), (gst_collect_pads_stop),
5729         (gst_collect_pads_peek), (gst_collect_pads_pop),
5730         (gst_collect_pads_available), (gst_collect_pads_read),
5731         (gst_collect_pads_flush), (gst_collect_pads_event),
5732         (gst_collect_pads_chain):
5733         * gst/base/gstcollectpads.h:
5734           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5735           unimplemented functions as unimplemented. Add padding to
5736           GstCollectData. (#320766, #320423)
5737
5738 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5739
5740         * gst/gstmessage.c:
5741           Improve docs for DURATION message (usage of duration parameter)
5742           (#320113)
5743
5744 2005-11-20  Wim Taymans  <wim@fluendo.com>
5745
5746         * check/Makefile.am:
5747         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5748         (main):
5749         * gst/Makefile.am:
5750         * gst/gst.h:
5751         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5752         (gst_segment_set_seek), (gst_segment_set_newsegment),
5753         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5754         (gst_segment_clip):
5755         * gst/gstsegment.h:
5756         Added segment helper structure and methods. Not fully implemented
5757         yet.
5758         Added segment check.
5759
5760 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
5761
5762         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5763           Add a deserialisation test for fractions
5764         * examples/metadata/read-metadata.c: (message_loop),
5765         (make_pipeline), (main):
5766           Fix up metadata reading sample.
5767         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5768           Debug format fix
5769         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5770           Don't try and fixate empty caps
5771         * gst/gst_private.h:
5772           Wrap in G_BEGIN_DECLS/G_END_DECLS
5773         * gst/gstvalue.c: (gst_value_collect_fraction),
5774         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5775         (gst_value_transform_string_fraction),
5776         (gst_value_compare_fraction):
5777           Add some extra guards to ensure that we don't end up 
5778           with an invalid denominator of 0 in a gstfraction and
5779           that fractions always get reduced.
5780
5781 2005-11-20  Wim Taymans  <wim@fluendo.com>
5782
5783         * docs/gst/gstreamer-sections.txt:
5784         * gst/gstbuffer.h:
5785         * gst/gstelement.c:
5786         * gst/gstformat.c:
5787         * gst/gstformat.h:
5788         * gst/gstindex.h:
5789         * gst/gstquery.c:
5790         * gst/gstquery.h:
5791         * gst/gstvalue.c:
5792         Doc fixes.
5793
5794 2005-11-20  Wim Taymans  <wim@fluendo.com>
5795
5796         * docs/design/part-TODO.txt:
5797         * gst/gstcaps.h:
5798         Make a proper enum of the flag.
5799
5800 2005-11-19  Wim Taymans  <wim@fluendo.com>
5801
5802         * docs/design/part-TODO.txt:
5803         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5804         (gst_format_to_quark), (gst_format_register):
5805         * gst/gstformat.h:
5806         * gst/gstquery.c: (_gst_query_initialize),
5807         (gst_query_type_get_name), (gst_query_type_to_quark),
5808         (gst_query_type_register):
5809         * gst/gstquery.h:
5810         Add type to quark and type to string conversions.
5811
5812 2005-11-19  Andy Wingo  <wingo@pobox.com>
5813
5814         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5815         #320097.
5816
5817 2005-11-19  Wim Taymans  <wim@fluendo.com>
5818
5819         * docs/design/part-TODO.txt:
5820         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5821         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5822         (gst_bin_handle_message_func):
5823         * gst/gstbin.h:
5824         Make message handling overridable.
5825
5826 2005-11-19  Andy Wingo  <wingo@pobox.com>
5827
5828         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5829
5830         * gst/gstclock.h:
5831         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5832         be a GstClockTime.
5833         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5834         is a GstClockTime. Fixes #321710.
5835
5836         * gst/gstclock.h (GstClock): Remove offset property. Add
5837         internal_calibration and external_calibration. Fix padding. Pad
5838         also by GstClockTime so we don't run into problems.
5839
5840         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5841         (gst_clock_get_rate_offset): Remove.
5842         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5843
5844         * gst/gstutils.h:
5845         * gst/gstutils.c (g_static_rec_cond_wait)
5846         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5847
5848         * gst/gstbin.c: Remove terrible continue_state prototype.
5849
5850         * gst/gstelement.h (gst_element_continue_state): Make public.
5851
5852         * gst/gstelement.h:
5853         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5854         by continue_state. Fixes #319389.
5855
5856         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5857         Really fixes #168438. However I don't see anywhere where the
5858         filter function is called... stupid GStreamer...
5859         
5860         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5861         don't have a dispose function, so it won't get called when the
5862         object is unreffed, but oh well!
5863
5864         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5865         allows a destroy function to be set so user_data can be freed.
5866         Fixes #168438.
5867         (gst_index_set_filter): Call gst_index_set_filter_full.
5868
5869         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5870
5871         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5872         string should produce an error, given the lack of a way to
5873         represent NULL strings. Fixes #165650.
5874         
5875         * gst/gstvalue.h: 
5876         * gst/gstvalue.c (gst_value_array_append_value) 
5877         (gst_value_array_prepend_value, gst_value_array_get_size) 
5878         (gst_value_array_get_value): New API, copied from
5879         gst_value_list_*, only operates on arrays.
5880         (gst_value_list_append_value, gst_value_list_prepend_value) 
5881         (gst_value_list_concat, gst_value_list_get_size) 
5882         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5883
5884         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5885         init_list, because it works on both.
5886         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5887         (gst_value_copy_list_or_array): Renamed from copy_list.
5888         (gst_value_free_list_or_array): Renamed from free_list.
5889         (gst_value_collect_list_or_array): Renamed from collect_list.
5890         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5891         (gst_value_list_or_array_peek_pointer): Renamed from
5892         list_peek_pointer.
5893         (_gst_value_array_value_table, _gst_value_list_value_table):
5894         Update value table functions.
5895         (gst_value_compare_list_or_array): Renamed from compare_list.
5896
5897         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5898         some constness.
5899
5900         * gst/gsttaglist.c:
5901         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5902         GstTagList*. Fixes #143472.
5903
5904         * gst/gststructure.h: Clarify what the foreach/map functions can
5905         or can't do to their arguments.
5906
5907 2005-11-18  Wim Taymans  <wim@fluendo.com>
5908
5909         * gst/gstclock.c: (gst_clock_set_calibration),
5910         (gst_clock_get_calibration):
5911         Doc and API fixes.
5912         Calibration can be set with internal time equal to current
5913         internal time too.
5914
5915 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5916
5917         * gst/gsterror.c:
5918         * gst/gsterror.h:
5919           document
5920
5921 2005-11-18  Andy Wingo  <wingo@pobox.com>
5922
5923         * configure.ac: 
5924         * pkgconfig/gstreamer-net.pc.in:
5925         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5926         * pkgconfig/Makefile.am: Add net pkgconfig files.
5927
5928 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5929
5930         * gst/gstcaps.c:
5931         * gst/gstghostpad.c:
5932         * gst/gsttrace.c:
5933         * gst/gstvalue.c:
5934         * gst/gstvalue.h:
5935           docs fixes
5936
5937 2005-11-18  Andy Wingo  <wingo@pobox.com>
5938
5939         * gst/net/gstnetclientclock.c: Turn off debugging.
5940
5941         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5942         times connverge somewhat. Can't make a real test.
5943
5944         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5945         integer arithmetic. Return the minimum of the domain, which can be
5946         set as "internal" for gst_clock_set_calibration.
5947         (gst_net_client_clock_observe_times): Call _set_calibration.
5948         (gst_net_client_clock_new): Call _set_calibration instead of
5949         rate_offset.
5950
5951         * check/net/gstnetclientclock.c (test_functioning): Use the right
5952         adjustment api.
5953
5954         * gst/gstclock.h:
5955         * gst/gstclock.c (gst_clock_get_calibration) 
5956         (gst_clock_set_calibration): New functions, obsolete the ones I
5957         added yesterday. Doh. Precision issues mean we have to extrapolate
5958         from a point in the more recent past than 1970.
5959         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5960         obsolete.
5961         (gst_clock_adjust_unlocked): Use the right calibration data.
5962
5963 2005-11-18  Edward Hervey  <edward@fluendo.com>
5964
5965         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5966         Also reset the ->current_* values in READY->PAUSED
5967
5968 2005-11-18  Andy Wingo  <wingo@pobox.com>
5969
5970         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5971         Whoops, check the right fd. Also add some debugging.
5972         (gst_net_client_clock_observe_times): Adjust for int64 offset.
5973         (do_linear_regression): Add a crapload of debugging. Subtract off
5974         the minimum values from the input series to discard unneeded bits.
5975         Use only int arithmetic. There is still double arithmetic when
5976         calculating the intercept that needs fixing. Return boolean to
5977         indicate success; FALSE would mean the domain or range is too
5978         great. Still needs fixes.
5979
5980 2005-11-18  Wim Taymans  <wim@fluendo.com>
5981
5982         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5983         For the current position in stream time, we need to subtract
5984         accumulated time.
5985         
5986         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5987         Release lock before calling the callback function of async
5988         entries.
5989
5990 2005-11-18  Andy Wingo  <wingo@pobox.com>
5991
5992         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5993         Port goes all the way to MAXUINT16.
5994
5995         * gst/net/gstnettimeprovider.c: Make the port range the same as
5996         for the kernel: 0 assigns, otherwise ports are less than
5997         MAXUINT16.
5998
5999         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6000         port change.
6001
6002         * check/net/gstnetclientclock.c (test_functioning): Add the start
6003         of another test. 
6004
6005 2005-11-18  Wim Taymans  <wim@fluendo.com>
6006
6007         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6008         (gst_bin_remove_func), (bin_bus_handler):
6009         * gst/gstbin.h:
6010         Removing a clock provider from a bin, triggers a clock lost message
6011         so that a new clock will be selected.
6012         Adding a clock to a bin triggers a clock provider message.
6013         Make sure we reselect a clock when we received a clock lost message.
6014         Keep a reference to the element that provided the clock.
6015
6016 2005-11-18  Andy Wingo  <wingo@pobox.com>
6017
6018         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6019         the clock initially so it produces values around the base time.
6020         (gst_net_client_clock_class_init): Typo fix.
6021         (gst_net_client_clock_thread): Add note on when the socket gets
6022         closed.
6023
6024 2005-11-17  Wim Taymans  <wim@fluendo.com>
6025
6026         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6027         Free remote and local time arrays.
6028
6029 2005-11-17  Wim Taymans  <wim@fluendo.com>
6030
6031         * gst/net/gstnetclientclock.c: (do_linear_regression),
6032         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6033         Fix compilation, uninitialized vars and a forgotten continue.
6034
6035 2005-11-17  Andy Wingo  <wingo@pobox.com>
6036
6037         * check/Makefile.am (check_PROGRAMS): 
6038         * check/net/gstnetclientclock.c: Add a most minimal test for the
6039         net client clock. More to come later.
6040
6041         * gst/net/gstnet.h: 
6042         * gst/net/Makefile.am: Add netclientclock.
6043
6044         * gst/net/gstnetclientclock.h:
6045         * gst/net/gstnetclientclock.c: New files, implement an untested
6046         GstClock that takes its time from a network time provider.
6047         Implements the algorithm in network-clock.scm.
6048
6049         * tests/network-clock.scm (*window-size*): Rename from
6050         *queue-length*.
6051         * tests/network-clock.scm (network-time): 
6052         * tests/network-clock-utils.scm (q-push): Update callers.
6053
6054 2005-11-17  Wim Taymans  <wim@fluendo.com>
6055
6056         * gst/gstbin.c: (gst_bin_provide_clock_func),
6057         (gst_bin_sort_iterator_new):
6058         And unref the child too..
6059
6060 2005-11-17  Wim Taymans  <wim@fluendo.com>
6061
6062         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6063         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6064         Refactor the sort iterator so it can be used while holding the
6065         LOCK too.
6066         Make clock selection select a clock closest to the source.
6067
6068 2005-11-17  Michael Smith <msmith@fluendo.com>
6069
6070         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6071         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6072         * gst/gstclock.h:
6073           Anonymous structs are a gcc (and some other compilers) extension, so
6074           don't use them. Since this is only for ABI-compatibility, and our
6075           API/ABI freeze is over in a few days, this whole thing will only
6076           last a few days, so don't bother trying to think up a meaningful
6077           name for the struct.
6078
6079 2005-11-17  Andy Wingo  <wingo@pobox.com>
6080
6081         * gst/gstclock.h (GstClock): Add rate and offset properties,
6082         preserving ABI stability. Add rate/offset accessors. Will file bug
6083         for the freeze break.
6084
6085         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6086         and offset, trying to keep precision and avoiding
6087         underflow/overflow.
6088         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6089         functions. Make gst_clock_set_time_adjust obsolete.
6090         (gst_clock_set_time_adjust): Note that this function is obsolete.
6091         Will file bug soon.
6092
6093         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6094         greppable by using GST_PADDING-1+1.
6095
6096 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6097
6098         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6099
6100         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6101           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6102
6103         * gst/gstpadtemplate.h:
6104         * gst/gstpluginfeature.h:
6105           Don't use c++ style comments in headers (#321638).
6106
6107 2005-11-16  Andy Wingo  <wingo@pobox.com>
6108
6109         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6110         buffer.
6111
6112         * check/net/gstnettimeprovider.c: Check to see that the time
6113         provider actually provides times. Works, yo!
6114
6115 2005-11-16  Wim Taymans  <wim@fluendo.com>
6116
6117         * check/Makefile.am:
6118         Enable more tests.
6119
6120         * check/elements/fakesrc.c: (GST_START_TEST):
6121         Set element to NULL before disposing it.
6122
6123 2005-11-16  Andy Wingo  <wingo@pobox.com>
6124
6125         * gst/net/Makefile.am:
6126         * gst/net/gstnet.h:
6127         * gst/net/gstnettimeprovider.c: 
6128         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6129         provider, include it from gstnet.h, and add it to the build.
6130
6131         * gst/net/gstnettimepacket.h: 
6132         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6133         sending and receiving.
6134
6135 2005-11-16  Wim Taymans  <wim@fluendo.com>
6136
6137         * check/Makefile.am:
6138         Enable valgrind check.
6139
6140         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6141         (gst_fake_src_alloc_buffer):
6142         Fix memleak.
6143
6144 2005-11-16  Wim Taymans  <wim@fluendo.com>
6145
6146         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6147         Call parent finalize too.
6148
6149 2005-11-16  Wim Taymans  <wim@fluendo.com>
6150
6151         * check/Makefile.am:
6152         Enable valgrind check that should work fine now.
6153
6154         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6155         * gst/gstqueue.c: (gst_queue_init):
6156         Fix memleaks in pad allocation.
6157
6158 2005-11-16  Andy Wingo  <wingo@pobox.com>
6159
6160         * gst/net/Makefile.am:
6161         * gst/net/gstnet.h: New part of core to hold network elements and
6162         objects. Put in core because it exposes API that applications want
6163         to use. The library is named libgstnet-tempname right now because
6164         of the existing libgstnet in gst-plugins-base. Solution is
6165         probably to rename the one in plugins-base; will file a bug for
6166         the freeze break.
6167
6168         * gst/net/gstnettimeprovider.c: 
6169         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6170         get_time call over the network.
6171
6172         * configure.ac: 
6173         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6174
6175         * check/Makefile.am:
6176         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6177         get additions shortly.
6178
6179 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * gst/gstpad.c: (gst_pad_new_from_static_template):
6182         * gst/gstpad.h:
6183           add gst_pad_new_from_static_template functions
6184         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6185         (gst_check_setup_sink_pad):
6186         * gst/elements/gsttee.c: (gst_tee_init):
6187           and use them
6188
6189 2005-11-16  Wim Taymans  <wim@fluendo.com>
6190
6191         * gst/gstpad.c: (gst_pad_pause_task):
6192         Removed warning, it's not really an error either.
6193
6194 2005-11-16  Wim Taymans  <wim@fluendo.com>
6195
6196         * gst/base/gstbasetransform.c:
6197         (gst_base_transform_prepare_output_buf),
6198         (gst_base_transform_event):
6199         Check if the caps are NULL, this can happen if the element
6200         is shutting down and the pad caps are set to NULL.
6201
6202 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         * gst/elements/gsttee.c: (gst_tee_init):
6205           fix pad template leak in tee
6206
6207 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6208
6209         * gst/glib-compat.c: (g_value_dup_gst_object):
6210         * gst/glib-compat.h:
6211         * gst/gstpad.c: (gst_pad_set_property):
6212           use gst_object_ref when setting the pad template; this will
6213           trigger the pad template leaks on GLib 2.6 and the slaves
6214
6215 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6216
6217         * gst/glib-compat.c: (gst_flags_get_first_value):
6218         * gst/glib-compat.h:
6219         * gst/gstregistryxml.c:
6220           remove functions copied from GLib 2.6
6221
6222 2005-11-16  Michael Smith <msmith@fluendo.com>
6223
6224         * gst/Makefile.am:
6225           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6226           do, but only breaks with newer valgrind versions. We're not a
6227           valgrind tool, we have no link-time dependencies on libcoregrind.
6228
6229 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6232           some debug changes
6233         * gst/gstmessage.h:
6234           typo fixes
6235
6236 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6237
6238         * gst/base/gstbasesrc.c: (gst_base_src_init):
6239         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6240         * gst/gstqueue.c: (gst_queue_init):
6241         * gst/gstregistryxml.c: (load_feature):
6242           Revert all these unrefs, they don't even pass make check !
6243
6244 2005-11-15  Johan Dahlin  <johan@gnome.org>
6245
6246         * gst/base/gstbasesrc.c: (gst_base_src_init):
6247         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6248         * gst/gstqueue.c: (gst_queue_init): 
6249         Free pad templates, fixes a couple of leaks.
6250
6251 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6252
6253         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6254
6255         * gst/gstpad.c: (gst_pad_get_property):
6256           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6257           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6258           (#321452)
6259
6260 2005-11-15  Wim Taymans  <wim@fluendo.com>
6261
6262         * gst/gstevent.c:
6263         Small doc update.
6264
6265 2005-11-15  Andy Wingo  <wingo@pobox.com>
6266
6267         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6268
6269         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6270         using GST_CLOCK_TIME_NONE to disable base time management.
6271         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6272         time if it was NONE before.
6273         (gst_pipeline_change_state): Only munge the base time if
6274         stream_time != GST_CLOCK_TIME_NONE.
6275
6276         * check/gst/gstpipeline.c (test_base_time): Punt around the
6277         problem of the probe not being called, because that's not the
6278         issue I'm looking at. Add a check that setting stream_time to NONE
6279         disables base time management.
6280         
6281 2005-11-15  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6284         segment_stop == -1 at startup.
6285
6286         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6287         (gst_base_transform_change_state):
6288         Init segment values at start.
6289
6290 2005-11-15  Wim Taymans  <wim@fluendo.com>
6291
6292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6293         0 segment values are 0 in any format.
6294
6295         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6296         * gst/base/gstbasetransform.h:
6297         Parse newsegment correctly in basetransform
6298
6299         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6300         Sync to clock using updated segment values.
6301
6302 2005-11-15  Andy Wingo  <wingo@pobox.com>
6303
6304         * check/gst/gstpipeline.c (test_base_time): Add check that the
6305         base time and stream time are reset correctly.
6306
6307 2005-11-15  Wim Taymans  <wim@fluendo.com>
6308
6309         * docs/design/part-TODO.txt:
6310         Some more TODO items.
6311
6312 2005-11-15  Andy Wingo  <wingo@pobox.com>
6313
6314         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6315         error if the user selected "no clock" as the clocking method.
6316
6317         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6318         timestamps with live capture.
6319
6320         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6321         is 0 but we are a live source, timestamp the buffers using the
6322         element's clock.
6323
6324 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6325
6326         * docs/gst/gstreamer-sections.txt:
6327         * gst/gsterror.c:
6328         * gst/gstghostpad.c:
6329         * gst/gstobject.h:
6330         * gst/gstxml.c:
6331           more section docs
6332
6333 2005-11-14  Wim Taymans  <wim@fluendo.com>
6334
6335         * common/gst.supp:
6336           add suppressions from Wim's Debian machine
6337
6338 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6339
6340         * common/gst.supp:
6341           add suppressions from Andy's AMD64 Ubuntu machine
6342
6343 2005-11-14  Andy Wingo  <wingo@pobox.com>
6344
6345         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6346         STATE_LOCK not necessary. Fixes #311489.
6347
6348         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6349         #305291.
6350
6351         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6352         this function is not implemented.
6353
6354 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6355
6356         * gst/base/gstbasetransform.c:
6357         (gst_base_transform_prepare_output_buf):
6358         Ref the source pad caps while we need them.
6359         Fixes (#321386)
6360
6361 2005-11-11  Wim Taymans  <wim@fluendo.com>
6362
6363         * docs/gst/gstreamer-sections.txt:
6364         Added some docs for GstCollectData.
6365
6366         * gst/base/gstadapter.c:
6367         Some small code example fix.
6368
6369         * gst/base/gstcollectpads.c:
6370         * gst/base/gstcollectpads.h:
6371         Document some more.
6372
6373 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6374
6375         * configure.ac: back to HEAD
6376
6377 === release 0.9.5 ===
6378
6379 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6380
6381         * configure.ac:
6382           releasing 0.9.5, "Bike Lunch Day"
6383
6384 2005-11-11  Wim Taymans  <wim@fluendo.com>
6385
6386         * gst/gstbuffer.c: (_gst_buffer_copy):
6387         Copy more flags.
6388
6389         * gst/gstcaps.c: (gst_caps_is_equal):
6390         Fix some docs.
6391         Make _is_equal fast in the trivial cases.
6392
6393         * gst/gstminiobject.c:
6394         * gst/gstminiobject.h:
6395         More docs. Spifify .h file.
6396
6397         * gst/gstutils.c:
6398         Small doc update.
6399
6400 2005-11-11  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/base/gstbasetransform.c:
6403         (gst_base_transform_prepare_output_buf),
6404         (gst_base_transform_handle_buffer):
6405         Small cleanups.
6406         If we're processing a buffer and need to allocate an output
6407         buffer, we cannot accept a format change. If we did get a 
6408         format change, we have to alloc a buffer ourselves of the 
6409         right size.
6410
6411 2005-11-11  Wim Taymans  <wim@fluendo.com>
6412
6413         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6414         While checking the flag for reentrancy in the gstcaps function
6415         is nice to detect recursive invocations, it also makes it 
6416         impossible to call getcaps from multiple threads, which must be
6417         possible. So, checking for recursive calls has to go.
6418
6419 2005-11-11  Michael Smith <msmith@fluendo.com>
6420
6421         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6422           Don't sync on buffers that fall partially outside our current
6423           segment. Prevents an assertion failure/abort playing some files.
6424
6425 2005-11-10  Andy Wingo  <wingo@pobox.com>
6426
6427         * check/gst/gstbin.c (test_message_state_changed_children): Style
6428         fix..
6429
6430         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6431         gst_bus_poll with the signal watch. Ensures that poll and a signal
6432         watch see the same messages.
6433
6434         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6435         a poll and a watch at the same time get the same messages.
6436
6437 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6438
6439         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6440         * gst/gstcaps.c: (gst_caps_intersect):
6441           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6442           and it's not needed.
6443
6444 2005-11-10  Wim Taymans  <wim@fluendo.com>
6445
6446         * docs/design/part-TODO.txt:
6447         Updated todo.
6448
6449 2005-11-10  Wim Taymans  <wim@fluendo.com>
6450
6451         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6452         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6453         (gst_base_src_do_sync), (gst_base_src_get_range):
6454         Implement clock sync in base class.
6455
6456 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6457
6458         patch by: Tim-Philipp Müller <tim at centricular dot net>
6459
6460         * gst/gststructure.c: (gst_structure_parse_field),
6461         (gst_structure_from_string):
6462           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6463           so that gst_parse_launch() can deal with spaces in filtered link
6464           caps (fixes #164479)
6465         * check/gst/capslist.h:
6466         * check/gst/gststructure.c: (GST_START_TEST):
6467           add unit tests for this change
6468
6469 2005-11-10  Wim Taymans  <wim@fluendo.com>
6470
6471         * docs/gst/gstreamer-sections.txt:
6472         * gst/gstelement.c:
6473         * gst/gstelement.h:
6474         Fix docs, move some STATE macros to private.
6475
6476 2005-11-10  Wim Taymans  <wim@fluendo.com>
6477
6478         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6479         Added check for bug #317341
6480
6481         * gst/gstbuffer.c:
6482         * gst/gstbuffer.h:
6483         Some more spiffifying.
6484
6485         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6486         Call peer linkfunction if we are a source pad. Totally fixes
6487         #317341
6488
6489         * gst/gstpad.c:
6490         Update docs, source pads should call the peer linkfunction
6491         so they can atomically perform the pad link.
6492
6493 2005-11-09  Wim Taymans  <wim@fluendo.com>
6494
6495         * gst/gstbuffer.c:
6496         * gst/gstbuffer.h:
6497         Uber-spiffy-spiffify some more.
6498
6499 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6500
6501         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6502         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6503         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6504         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6505         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6506         * gst/gstpad.c: (gst_pad_init):
6507           Use GST_DEBUG_FUNCPTR() more extensively.
6508
6509 2005-11-09  Wim Taymans  <wim@fluendo.com>
6510
6511         * gst/gstobject.c: (gst_object_class_init):
6512         * gst/gstobject.h:
6513         Documentation fixes.
6514
6515 2005-11-09  Edward Hervey  <edward@fluendo.com>
6516
6517         * gst/gsttypefindfactory.c:
6518         Fix docs.
6519         
6520 2005-11-09  Edward Hervey  <edward@fluendo.com>
6521
6522         * gst/base/gsttypefindhelper.c:
6523         * gst/gsttypefind.c:
6524         * gst/gsttypefind.h:
6525         Fix docs.
6526
6527 2005-11-09  Wim Taymans  <wim@fluendo.com>
6528
6529         * gst/gstiterator.c:
6530         Fix revision data.
6531
6532         * gst/gsttask.c:
6533         * gst/gsttask.h:
6534         Fix docs.
6535
6536 2005-11-09  Wim Taymans  <wim@fluendo.com>
6537
6538         * gst/gstevent.h:
6539         * gst/gsturi.h:
6540         Fix docs.
6541
6542 2005-11-09  Wim Taymans  <wim@fluendo.com>
6543
6544         * docs/gst/gstreamer-sections.txt:
6545         Moved the message async delivery private lock and cond
6546         to the private section.
6547
6548         * gst/gstmessage.c:
6549         * gst/gstmessage.h:
6550         Fixed docs.
6551
6552 2005-11-09  Edward Hervey  <edward@fluendo.com>
6553
6554         * docs/gst/gstreamer-sections.txt:
6555         * gst/gsturi.c:
6556         * gst/gsturi.h:
6557         Document GstURIHandler
6558
6559 2005-11-09  Wim Taymans  <wim@fluendo.com>
6560
6561         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
6562         (gst_iterator_find_custom):
6563         * gst/gstiterator.h:
6564         Fix iterator docs.
6565
6566 2005-11-09  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/gstbin.h:
6569         Document another field.
6570
6571         * gst/gststructure.c:
6572         * gst/gststructure.h:
6573         Document.
6574
6575 2005-11-09  Wim Taymans  <wim@fluendo.com>
6576
6577         * gst/gstbin.h:
6578         Documented structs.
6579
6580 2005-11-09  Wim Taymans  <wim@fluendo.com>
6581
6582         * docs/gst/gstreamer-sections.txt:
6583         Added some new macros.
6584
6585         * gst/gstclock.c:
6586         * gst/gstclock.h:
6587         * gst/gstobject.h:
6588         Docs updates.
6589
6590 2005-11-09  Wim Taymans  <wim@fluendo.com>
6591
6592         * docs/design/part-TODO.txt:
6593         Some more items for the TODO
6594
6595         * gst/gstcaps.c:
6596         * gst/gstcaps.h:
6597         Document GstCaps.
6598
6599 2005-11-09  Andy Wingo  <wingo@pobox.com>
6600
6601         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
6602         to work on something else now tho...
6603
6604         * gst/base/gstadapter.c: More adapter docs.
6605
6606         * gst/elements/gstfilesink.c (gst_file_sink_start) 
6607         (gst_file_sink_stop): New functions, replace the state change
6608         handler.
6609         (gst_file_sink_class_init): Hook up the start and stop functions.
6610         (gst_file_sink_base_init): Don't set the state change handler any
6611         more. It was a bit ugly too, being set from here...
6612         (gst_file_sink_get_property, gst_file_sink_set_property):
6613         Cleanups...
6614         (gst_file_sink_set_location): More robust check that doesn't call
6615         GST_STATE. Ugggggg.
6616
6617 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
6618
6619         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6620           Hold STREAM_LOCK while pushing newsegment or tag events as well.
6621
6622 2005-11-08  Wim Taymans  <wim@fluendo.com>
6623
6624         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6625         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6626         (gst_base_sink_chain), (gst_base_sink_change_state):
6627         * gst/base/gstbasesink.h:
6628         * gst/base/gstbasesrc.h:
6629         * gst/gstelement.h:
6630         * gst/gstevent.h:
6631         Avoid excessive typechecking in macros.
6632
6633         * gst/gstminiobject.c: (gst_mini_object_get_type),
6634         (gst_mini_object_init), (gst_mini_object_new),
6635         (gst_mini_object_free):
6636         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
6637         (gst_object_finalize):
6638         Remove cruft code, optimize alloc_trace.
6639
6640 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6641
6642         * docs/faq/gst-uninstalled:
6643           fix up PS1 for systems that try to reset it
6644
6645 2005-11-07  Wim Taymans  <wim@fluendo.com>
6646
6647         * gst/base/gstbasesrc.c: (gst_base_src_init),
6648         (gst_base_src_get_range):
6649         Set the segment_end to -1 initially. Fixed typefind.
6650
6651 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6652
6653         * gst/base/gstadapter.c:
6654           Debug category should be 'adapter', not 'GstAdapter'.
6655           
6656         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
6657         (gst_collectpads_class_init), (gst_collectpads_init),
6658         (gst_collectpads_peek), (gst_collectpads_pop),
6659         (gst_collectpads_event), (gst_collectpads_chain):
6660           Add debug category and some debugging output. Use boilerplate
6661           macros. Remove some extraneous words from docs.
6662
6663 2005-11-05  Andy Wingo  <wingo@pobox.com>
6664
6665         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
6666         macro.
6667
6668 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6669
6670         * docs/gst/gstreamer-sections.txt:
6671         * gst/gstcaps.h:
6672         * gst/gstinfo.c:
6673         * gst/gstminiobject.h:
6674         * gst/gstobject.h:
6675         * gst/gstutils.h:
6676           more docs added
6677
6678 2005-11-04  Wim Taymans  <wim@fluendo.com>
6679
6680         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6681         Small update to stop at the configured segment_end
6682         position.
6683
6684 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6685
6686         * gst/gstregistry.c:
6687         * gst/gstregistry.h:
6688           added missing docs
6689
6690 2005-11-04  Edward Hervey  <edward@fluendo.com>
6691
6692         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6693         Check if we are doing a segment seek and have arrived at the
6694         end of that segment.
6695
6696 2005-11-04  Wim Taymans  <wim@fluendo.com>
6697
6698         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
6699         Don't leak a mutex unlock in case of an error.
6700
6701         * gst/gstbus.h:
6702         Doc fixes.
6703
6704 2005-11-04  Wim Taymans  <wim@fluendo.com>
6705
6706         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
6707         (gst_bus_post):
6708         Get the context to wake up only once.
6709
6710 2005-11-03  Wim Taymans  <wim@fluendo.com>
6711
6712         * check/states/sinks.c: (GST_START_TEST):
6713         Uncomment fixed check.
6714
6715         * docs/design/part-TODO.txt:
6716         Updated TODO.
6717
6718         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6719         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6720         (gst_base_sink_get_position):
6721         If we are going to PLAYING, post the right pending state
6722         when we post the intermediate paused message.
6723
6724         * gst/gstelement.c: (gst_element_continue_state),
6725         (gst_element_set_state_func), (gst_element_change_state):
6726         Don't post state changes that were between the same state
6727         and were not ASYNC.
6728
6729 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6730
6731         * docs/gst/gstreamer-sections.txt:
6732         * gst/gstcaps.h:
6733         * gst/gstinfo.c:
6734         * gst/gstminiobject.h:
6735         * gst/gstobject.h:
6736         * gst/gstutils.h:
6737           more docs and doc style fixes
6738
6739 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6740
6741         * docs/gst/gstreamer-sections.txt:
6742         * gst/gstelement.c:
6743         * gst/gstminiobject.c:
6744         doc fixes
6745
6746 2005-11-03  Andy Wingo  <wingo@pobox.com>
6747
6748         * check/states/sinks.c (test_livesrc_sink): Add checks that the
6749         state-changed messages actually have the right order and the right
6750         values.
6751
6752 2005-11-03  Wim Taymans  <wim@fluendo.com>
6753
6754         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6755         Added some more checks. Specifically the case where NO_PREROLL
6756         elements are in the pipeline.
6757
6758         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6759         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6760         (gst_base_sink_get_position):
6761         Post READY->PAUSED state change messages too.
6762         Fix bug where VOID was posted as pending state...
6763
6764         * gst/gstbin.c: (gst_bin_recalc_state):
6765         use _element_continue_state() to continue the state change.
6766
6767         * gst/gstelement.c: (gst_element_continue_state),
6768         (gst_element_commit_state), (gst_element_set_state_func),
6769         (gst_element_change_state), (gst_element_change_state_func):
6770         Lots of state change cleanups, assign the STATE_RETURN in
6771         a new continue_state() function that also propagates the
6772         last return value from a state change to the app.
6773         Update some debug statements with proper category.
6774
6775 2005-11-03  Wim Taymans  <wim@fluendo.com>
6776
6777         * docs/design/part-events.txt:
6778         * docs/design/part-gstpipeline.txt:
6779         * docs/design/part-messages.txt:
6780         * docs/design/part-overview.txt:
6781         * docs/design/part-seeking.txt:
6782         * docs/design/part-states.txt:
6783         * docs/design/part-trickmodes.txt:
6784         * docs/manual/advanced-position.xml:
6785         Small docs updates.
6786
6787         * gst/gstobject.h:
6788         People think !! is ugly, this looks better.
6789
6790         * gst/gstpad.c: (gst_pad_set_blocked_async):
6791         Remove !! since it's fixed elsewhere now.
6792
6793 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6794
6795         * gst/gstminiobject.h:
6796         * gst/gstobject.h:
6797           Add !! to _FLAG_IS_SET macros to make the result boolean.
6798
6799 2005-11-03  Edward Hervey  <edward@fluendo.com>
6800
6801         * gst/gstpad.c: (gst_pad_set_blocked_async):
6802         comparing a flag and a gboolean rarely returns coherent results...
6803         Added two characters (!!) to make that work correctly.
6804         
6805 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6806
6807         * gst/gstbus.c: (gst_bus_class_init):
6808           Fix some typos.
6809           
6810         * gst/gstqueue.c: (gst_queue_loop):
6811           Don't assume a miniobject that isn't a buffer is an
6812           event (it could be that there is a refcounting
6813           problem somewhere and the pointer is stale and
6814           refers to an already destroyed miniobject).
6815
6816 2005-11-03  Julien MOUTTE  <julien@moutte.net>
6817
6818         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6819
6820 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6821
6822         * docs/manual/advanced-position.xml:
6823           Update seek example and explanations to current 0.9 API.
6824
6825         * gst/elements/gsttypefindelement.c:
6826         (gst_type_find_element_activate):
6827           Remove FIXME comment now that the found caps
6828           are unreffed.
6829
6830 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * gst/gstregistryxml.c: (load_feature):
6833           Add another GST_STR_NULL instance
6834
6835 2005-11-02  Edward Hervey  <edward@fluendo.com>
6836
6837         * gst/gstpad.c: (handle_pad_block):
6838         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6839         
6840 2005-11-02  Wim Taymans  <wim@fluendo.com>
6841
6842         * gst/gstbin.c:
6843         Fix typo in docs.
6844
6845         * gst/gstelement.c: (gst_element_commit_state):
6846         Remove unused value.
6847
6848         * gst/gstiterator.c:
6849         Mention that the returned element is reffed in the docs.
6850
6851 2005-11-02  Wim Taymans  <wim@fluendo.com>
6852
6853         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6854         (gst_pad_push), (gst_pad_push_event):
6855         Unlock blocked pads when they are flushed.
6856
6857 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6858
6859         * docs/README:
6860         * docs/gst/gstreamer-sections.txt:
6861         * gst/gstbin.c:
6862           doc updates
6863         * gst/gstregistry.c: (gst_registry_scan_path_level):
6864           fix for a nasty little missed situation where an installed plug-in
6865           which was in the cache did not get overridden by an uninstalled one
6866           which was earlier in the plugin path because the newly created plugin
6867           for the uninstalled one (not in the registry) didn't get its
6868           ->registered set to TRUE
6869
6870 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6871
6872         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6873         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6874         (gst_collectpads_is_active), (gst_collectpads_collect),
6875         (gst_collectpads_collect_range), (gst_collectpads_start),
6876         (gst_collectpads_stop), (gst_collectpads_peek),
6877         (gst_collectpads_pop), (gst_collectpads_available),
6878         (gst_collectpads_read), (gst_collectpads_flush):
6879           Guard public API with assertions.
6880         
6881         * gst/gstpad.c:
6882           Fix docs for gst_pad_set_link_function().
6883
6884 2005-11-02  Johan Dahlin  <johan@gnome.org>
6885
6886         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6887         Unref found_caps after we used it.
6888
6889 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6890
6891         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6892           Don't try to ref NULL.
6893
6894 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6895
6896         * win32/common/config.h.in:
6897           provide a GST_FUNCTION that just gives a string for now
6898
6899 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6900
6901         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6902         (gst_object_flags_get_type), (register_gst_bin_flags),
6903         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6904         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6905         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6906         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6907         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6908         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6909         (gst_clock_flags_get_type), (register_gst_state),
6910         (gst_state_get_type), (register_gst_state_change_return),
6911         (gst_state_change_return_get_type), (register_gst_state_change),
6912         (gst_state_change_get_type), (register_gst_element_flags),
6913         (gst_element_flags_get_type), (register_gst_core_error),
6914         (gst_core_error_get_type), (register_gst_library_error),
6915         (gst_library_error_get_type), (register_gst_resource_error),
6916         (gst_resource_error_get_type), (register_gst_stream_error),
6917         (gst_stream_error_get_type), (register_gst_event_type),
6918         (gst_event_type_get_type), (register_gst_seek_type),
6919         (gst_seek_type_get_type), (register_gst_seek_flags),
6920         (gst_seek_flags_get_type), (register_gst_format),
6921         (gst_format_get_type), (register_gst_index_certainty),
6922         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6923         (gst_index_entry_type_get_type),
6924         (register_gst_index_lookup_method),
6925         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6926         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6927         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6928         (gst_index_flags_get_type), (register_gst_debug_level),
6929         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6930         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6931         (gst_iterator_result_get_type), (register_gst_iterator_item),
6932         (gst_iterator_item_get_type), (register_gst_message_type),
6933         (gst_message_type_get_type), (register_gst_mini_object_flags),
6934         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6935         (gst_pad_link_return_get_type), (register_gst_flow_return),
6936         (gst_flow_return_get_type), (register_gst_activate_mode),
6937         (gst_activate_mode_get_type), (register_gst_pad_direction),
6938         (gst_pad_direction_get_type), (register_gst_pad_flags),
6939         (gst_pad_flags_get_type), (register_gst_pad_presence),
6940         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6941         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6942         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6943         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6944         (gst_plugin_flags_get_type), (register_gst_rank),
6945         (gst_rank_get_type), (register_gst_query_type),
6946         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6947         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6948         (gst_tag_flag_get_type), (register_gst_task_state),
6949         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6950         (gst_alloc_trace_flags_get_type),
6951         (register_gst_type_find_probability),
6952         (gst_type_find_probability_get_type), (register_gst_uri_type),
6953         (gst_uri_type_get_type), (register_gst_parse_error),
6954         (gst_parse_error_get_type):
6955         * win32/common/gstversion.h:
6956           update win32 copies
6957
6958 2005-11-01  Luca Ognibene  <luogni@tin.it>
6959
6960         * gst/gst.c:
6961           fix docs. popt is dead, long live GOption.
6962
6963 2005-10-31  Wim Taymans  <wim@fluendo.com>
6964
6965         * gst/gstbuffer.h:
6966         Small doc fix.
6967
6968 2005-10-31  Andy Wingo  <wingo@pobox.com>
6969
6970         * Boo!
6971
6972         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6973
6974         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6975         need to serialize property notifications on GLib 2.8. GLib 2.6 has
6976         the possibility of deadlocks here if code calling notify() or
6977         set() has a lock that can be taken in another notify handler (ABBA
6978         with class lock and e.g. python GIL state lock).
6979
6980 2005-10-28  Julien MOUTTE  <julien@moutte.net>
6981
6982         * gst/gstbus.c: Doc updates.
6983
6984 2005-10-28  Wim Taymans  <wim@fluendo.com>
6985
6986         * docs/design/part-TODO.txt:
6987         * gst/gstiterator.c:
6988         * gst/gstsystemclock.c:
6989         * gst/gstsystemclock.h:
6990         Doc updates.
6991
6992 2005-10-28  Edward Hervey  <edward@fluendo.com>
6993
6994         * docs/gst/gstreamer-docs.sgml:
6995         * docs/gst/gstreamer-sections.txt:
6996         the GstURIType documentation page is private, it only defines GstURIType
6997         which should be defined in the GstURIHandler page
6998         
6999 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7000
7001         * gst/gstbin.c: (gst_bin_class_init):
7002         * gst/gstbin.h:
7003         * gst/gstutils.c:
7004         Documentation updates.
7005
7006 2005-10-28  Wim Taymans  <wim@fluendo.com>
7007
7008         * docs/gst/gstreamer-sections.txt:
7009         * gst/gstclock.c:
7010         * gst/gstclock.h:
7011         Documented the clocks.
7012
7013 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7014
7015         * docs/gst/gstreamer-sections.txt:
7016           move some macros to private sections
7017         * gst/gstminiobject.c:
7018         * gst/gstminiobject.h:
7019           add descriptions provided by ds and some more
7020         * gst/gstpad.h:
7021           mark macro as to be removed
7022
7023 2005-10-28  Wim Taymans  <wim@fluendo.com>
7024
7025         * docs/design/part-TODO.txt:
7026         Add an item to TODO.
7027
7028         * gst/gstiterator.c: (gst_iterator_fold),
7029         (gst_iterator_find_custom):
7030         * gst/gstiterator.h:
7031         Add iterator docs.
7032
7033 2005-10-28  Wim Taymans  <wim@fluendo.com>
7034
7035         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7036         (gst_base_transform_init):
7037         Don't leak class.
7038
7039         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7040         An EOS event marks the queue as completely filled.
7041
7042 2005-10-27  Wim Taymans  <wim@fluendo.com>
7043
7044         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7045         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7046         Some more debugging.
7047
7048         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7049         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7050         (gst_base_transform_event), (gst_base_transform_getrange),
7051         (gst_base_transform_chain):
7052         * gst/base/gstbasetransform.h:
7053         Fix debugging,
7054         Protect transform and concurrent buffer alloc with a new lock.
7055         Try not to break ABI/API.
7056
7057 2005-10-27  Wim Taymans  <wim@fluendo.com>
7058
7059         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7060         (gst_base_src_init), (gst_base_src_query),
7061         (gst_base_src_default_newsegment),
7062         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7063         (gst_base_src_send_event), (gst_base_src_event_handler),
7064         (gst_base_src_pad_get_range), (gst_base_src_loop),
7065         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7066         (gst_base_src_start), (gst_base_src_deactivate),
7067         (gst_base_src_activate_push), (gst_base_src_change_state):
7068         Move some stuff around and cleanup things.
7069
7070 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7071
7072         * gst/base/gstbasesrc.c: (gst_base_src_query):
7073           Add missing break statements.
7074
7075 2005-10-27  Wim Taymans  <wim@fluendo.com>
7076
7077         * check/gst/gstbin.c: (GST_START_TEST):
7078         An extra refcount is taken in basesrc.
7079
7080         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7081         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7082         (gst_base_src_loop):
7083         Small cleanups, check for flushing after being unlocked from the 
7084         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7085         Don't send out EOS when going to READY.
7086
7087 2005-10-27  Wim Taymans  <wim@fluendo.com>
7088
7089         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7090         (gst_base_sink_get_position):
7091         Some more debug.
7092
7093         * gst/gstbin.c: (message_check), (bin_replace_message),
7094         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7095         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7096         (bin_query_duration_init), (bin_query_duration_fold),
7097         (bin_query_duration_done), (bin_query_generic_fold),
7098         (gst_bin_query):
7099         * tools/gst-launch.c: (main):
7100         Remove old option.
7101
7102 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7103
7104         * examples/controller/audio-example.c: (main):
7105         * examples/queue/queue.c: (event_loop):
7106         * gst/base/gstbasetransform.h:
7107         * gst/gstelement.c: (gst_element_send_event):
7108         * gst/gstevent.h:
7109         * gst/gstpad.c: (gst_pad_send_event):
7110           fixing examples
7111           fixing docs typos
7112           changing log priority in error situations
7113
7114 2005-10-25  Wim Taymans  <wim@fluendo.com>
7115
7116         * gst/gstbin.c: (message_check), (bin_replace_message),
7117         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7118         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7119         (bin_query_duration_init), (bin_query_duration_fold),
7120         (bin_query_duration_done), (bin_query_generic_fold),
7121         (gst_bin_query):
7122         Some doc and debug updates.
7123         Cache previously requested query DURATION for speed. invalidate
7124         cached duration if element posts a DURATION message.
7125
7126 2005-10-25  Wim Taymans  <wim@fluendo.com>
7127
7128         * docs/design/part-TODO.txt:
7129         Update TODO.
7130
7131         * gst/gstbin.c: (message_check), (bin_replace_message),
7132         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7133         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7134         (bin_query_duration_init), (bin_query_duration_fold),
7135         (bin_query_duration_done), (bin_query_generic_fold),
7136         (gst_bin_query):
7137         Handle SEGMENT_START/DONE messages correctly.
7138         More evolved query algorithm that handles duration queries
7139         correctly.
7140
7141         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7142         (gst_element_get_state_func), (gst_element_abort_state),
7143         (gst_element_commit_state), (gst_element_lost_state):
7144         Some more debugging.
7145
7146         * gst/gstmessage.h:
7147         Added doc.
7148
7149 2005-10-25  Wim Taymans  <wim@fluendo.com>
7150
7151         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7152         Don't use invalid stream_time.
7153
7154         * gst/gstevent.c: (gst_event_new_newsegment):
7155         stream_time in newsegment cannot be undefined.
7156
7157 2005-10-24  Wim Taymans  <wim@fluendo.com>
7158
7159         * gst/gstbus.c:
7160         Doc fix.
7161
7162         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7163         (gst_queue_loop):
7164         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7165
7166 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7167
7168         * docs/libs/tmpl/gstdparam.sgml:
7169         * docs/libs/tmpl/gstdplinint.sgml:
7170         * docs/libs/tmpl/gstdpman.sgml:
7171         * docs/libs/tmpl/gstdpsmooth.sgml:
7172         * docs/libs/tmpl/gstunitconvert.sgml:
7173           these are obsolete
7174
7175 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7176
7177         * configure.ac:
7178           back to HEAD
7179
7180 === release 0.9.4 ===
7181
7182 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7183
7184         * configure.ac:
7185           releasing 0.9.4, "Tyrannosaurus Rex"
7186
7187 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7188
7189         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7190         (gst_file_sink_get_current_offset):
7191           Use fseeko() and ftello() if available. When falling back on
7192           lseek() to get the current offset, fflush() first to make sure
7193           everything is up-to-date and we get the right offset.
7194
7195 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7196
7197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7198         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7199         * gst/gsterror.c: (_gst_stream_errors_init):
7200         * gst/gsterror.h:
7201         * gst/gstqueue.c: (gst_queue_loop):
7202         * po/POTFILES.in:
7203           remove prematurely added error category and clean up the instances
7204
7205 2005-10-21  Wim Taymans  <wim@fluendo.com>
7206
7207         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7208         (gst_base_sink_get_position), (gst_base_sink_query),
7209         (gst_base_sink_change_state):
7210         Simply set the right flag when going to playing, that's all
7211         we need to do instead of calling a function inside the object
7212         lock (that could take the lock as well and deadlock)
7213
7214 2005-10-21  Wim Taymans  <wim@fluendo.com>
7215
7216         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7217         (gst_base_src_loop):
7218         Don't warn, the peer element knows what to do best when
7219         the seek failed, it might try something else.
7220
7221 2005-10-21  Wim Taymans  <wim@fluendo.com>
7222
7223         * gst/base/gstbasesrc.c: (gst_base_src_init),
7224         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7225         Fix seeking.
7226
7227 2005-10-21  Wim Taymans  <wim@fluendo.com>
7228
7229         * docs/design/part-segments.txt:
7230         More docs.
7231
7232         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7233         Correctly set caps, even on the subbufer.
7234
7235 2005-10-21  Wim Taymans  <wim@fluendo.com>
7236
7237         * docs/gst/gstreamer-docs.sgml:
7238         * docs/gst/gstreamer-sections.txt:
7239         * gst/gstelement.h:
7240         * gst/gstevent.c:
7241         * gst/gstevent.h:
7242         * gst/gstmessage.h:
7243         * gst/gstpad.h:
7244         * gst/gstparse.h:
7245         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7246         * gst/gsttask.h:
7247         * gst/gstutils.c:
7248         * gst/gstutils.h:
7249         And 2% more doc coverage.
7250
7251 2005-10-21  Andy Wingo  <wingo@pobox.com>
7252
7253         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7254         position reporting.
7255
7256 2005-10-20  Wim Taymans  <wim@fluendo.com>
7257
7258         * gst/gsterror.c: (gst_error_get_message):
7259         * gst/gstparse.h:
7260         * gst/gstquery.h:
7261         * gst/gststructure.c:
7262         * gst/gsttrace.c:
7263         * gst/gstutils.c:
7264         More docs.
7265
7266 2005-10-20  Wim Taymans  <wim@fluendo.com>
7267
7268         * gst/gstbuffer.h:
7269         * gst/gstpad.c:
7270         * gst/gstparse.c:
7271         Another 1% more coverage.
7272
7273 2005-10-20  Wim Taymans  <wim@fluendo.com>
7274
7275         * docs/gst/gstreamer-sections.txt:
7276         * gst/gstelement.c: (gst_element_get_state_func),
7277         (gst_element_abort_state), (gst_element_commit_state),
7278         (gst_element_lost_state):
7279         * gst/gstevent.h:
7280         * gst/gstquery.c: (gst_query_set_position),
7281         (gst_query_parse_position), (gst_query_set_duration),
7282         (gst_query_parse_duration), (gst_query_new_convert):
7283         * gst/gstutils.c:
7284         Yay! 1% more docs coverage.
7285
7286 2005-10-20  Wim Taymans  <wim@fluendo.com>
7287
7288         * gst/gstpad.h:
7289         * gst/gstquery.c: (gst_query_set_position),
7290         (gst_query_parse_position), (gst_query_set_duration),
7291         (gst_query_parse_duration), (gst_query_new_convert):
7292         * gst/gstquery.h:
7293         * gst/gstutils.c: (gst_element_query_convert):
7294         * gst/gstutils.h:
7295         Docs and consistency fixes.
7296
7297 2005-10-20  Wim Taymans  <wim@fluendo.com>
7298
7299         * gst/gsttask.c:
7300         * gst/gsttask.h:
7301         More docs.
7302
7303 2005-10-20  Wim Taymans  <wim@fluendo.com>
7304
7305         * gst/gstbin.c: (message_check), (bin_replace_message),
7306         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7307         (update_degree), (gst_bin_sort_iterator_next),
7308         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7309         Reworked the message handling a bit, cache the messages instead of
7310         only the senders. alows us to do more in the future.
7311
7312 2005-10-20  Wim Taymans  <wim@fluendo.com>
7313
7314         * docs/design/part-TODO.txt:
7315         Update TODO
7316
7317         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7318         (gst_base_sink_query):
7319         Don't use clock time to report position when in EOS.
7320
7321 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7322
7323         * tools/gst-inspect.c: (print_interfaces),
7324         (print_element_properties_info), (print_element_info):
7325           Fix interface output with gst-inspect -a; don't print
7326           newlines after double/float properties.
7327
7328 2005-10-20  Wim Taymans  <wim@fluendo.com>
7329
7330         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7331         (gst_base_sink_query):
7332         Speed up current position calculation.
7333
7334         * gst/base/gstbasesrc.c: (gst_base_src_query),
7335         (gst_base_src_default_newsegment):
7336         Correctly set stream position in newsegment.
7337
7338         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7339         (update_degree), (gst_bin_sort_iterator_next),
7340         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7341         * gst/gstmessage.c: (gst_message_new_custom):
7342         Clean up debugging info
7343
7344         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7345         (gst_queue_loop), (gst_queue_handle_src_query):
7346         Pause task faster.
7347
7348 2005-10-19  Wim Taymans  <wim@fluendo.com>
7349
7350         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7351         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7352         Fix query handling again.
7353
7354 2005-10-19  Wim Taymans  <wim@fluendo.com>
7355
7356         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7357         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7358         * gst/base/gstbasesrc.c: (gst_base_src_query):
7359         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7360         * gst/elements/gsttypefindelement.c:
7361         (gst_type_find_handle_src_query), (find_element_get_length),
7362         (gst_type_find_element_activate):
7363         API change fix.
7364
7365         * gst/gstquery.c: (gst_query_new_position),
7366         (gst_query_set_position), (gst_query_parse_position),
7367         (gst_query_new_duration), (gst_query_set_duration),
7368         (gst_query_parse_duration), (gst_query_set_segment),
7369         (gst_query_parse_segment):
7370         * gst/gstquery.h:
7371         Bundling query position/duration is not a good idea since duration
7372         does not change much and we don't want to recalculate it for every
7373         position query, so they are separated again..
7374         Base value in segment query is not needed.
7375
7376         * gst/gstqueue.c: (gst_queue_handle_src_query):
7377         * gst/gstutils.c: (gst_element_query_position),
7378         (gst_element_query_duration), (gst_pad_query_position),
7379         (gst_pad_query_duration):
7380         * gst/gstutils.h:
7381         Updates for query API change.
7382         Added some docs here and there.
7383
7384 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7385
7386         * check/gst/gstbin.c: (GST_START_TEST):
7387         * check/gst/gstghostpad.c: (GST_START_TEST):
7388         * check/pipelines/cleanup.c: (GST_START_TEST):
7389           wait on thread to die so we can check refcount correctly
7390
7391 2005-10-18  Wim Taymans  <wim@fluendo.com>
7392
7393         * check/pipelines/stress.c: (GST_START_TEST):
7394         Make check a little more time consuming.
7395
7396 2005-10-18  Wim Taymans  <wim@fluendo.com>
7397
7398         * check/Makefile.am:
7399         * check/pipelines/stress.c: (GST_START_TEST),
7400         (simple_launch_lines_suite), (main):
7401         Small state change torture test.
7402
7403         * docs/design/part-states.txt:
7404         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7405         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7406         (gst_base_sink_change_state):
7407         Never take state lock from streaming thread, clean up ugly
7408         hacks. Unfortunatly core does not yet support nice ways to
7409         async commit state.
7410         
7411         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7412         (bin_bus_handler):
7413         Start state recalc if a STATE_DIRTY message is posted, but only
7414         on the toplevel bin.
7415
7416         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7417         (gst_element_get_state_func), (gst_element_abort_state),
7418         (gst_element_commit_state), (gst_element_lost_state),
7419         (gst_element_set_state_func), (gst_element_change_state):
7420         * gst/gstelement.h:
7421         State variables are now protected with the LOCK, the state
7422         lock is only used to serialize _set_state().
7423
7424 2005-10-18  Wim Taymans  <wim@fluendo.com>
7425
7426         * check/gst/gstbin.c: (GST_START_TEST):
7427         * check/gst/gstmessage.c: (GST_START_TEST):
7428         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7429         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7430         (bin_bus_handler):
7431         * gst/gstelement.c: (gst_element_abort_state),
7432         (gst_element_commit_state), (gst_element_lost_state):
7433         * gst/gstmessage.c: (gst_message_new_state_changed),
7434         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7435         (gst_message_new_segment_done), (gst_message_new_duration),
7436         (gst_message_parse_state_changed),
7437         (gst_message_parse_segment_start),
7438         (gst_message_parse_segment_done), (gst_message_parse_duration):
7439         * gst/gstmessage.h:
7440         * tools/gst-launch.c: (event_loop):
7441         Seriously, this is better than a previous commit as we only need
7442         to notify the fact that an element changed state in a streaming
7443         thread, marking the state of the parents dirty, hence the 
7444         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7445         message.
7446
7447 2005-10-18  Wim Taymans  <wim@fluendo.com>
7448
7449         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7450         (gst_bin_recalc_func):
7451         * gst/gstelement.c: (gst_element_set_clock),
7452         (gst_element_abort_state), (gst_element_lost_state):
7453         Cleanups, prepare for state change fixes.
7454
7455 2005-10-18  Wim Taymans  <wim@fluendo.com>
7456
7457         * gst/gstbin.h:
7458         * gst/gstelement.c: (gst_element_class_init),
7459         (gst_element_set_state), (gst_element_set_state_func):
7460         * gst/gstelement.h:
7461         Pending ABI changes.
7462         GThreadPool in GstBinClass to monitor async state changes.
7463         state_cookie in GstElement to detect concurrent gst/set state.
7464         set_state is now virtual too in case a very complicated element
7465         has to be constructed.
7466
7467 2005-10-18  Wim Taymans  <wim@fluendo.com>
7468
7469         * check/gst/gstbin.c: (GST_START_TEST):
7470         * check/gst/gstmessage.c: (GST_START_TEST):
7471         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7472         * gst/gstbin.c: (bin_bus_handler):
7473         * gst/gstelement.c: (gst_element_commit_state),
7474         (gst_element_lost_state):
7475         * gst/gstmessage.c: (gst_message_new_state_changed),
7476         (gst_message_new_segment_start), (gst_message_new_segment_done),
7477         (gst_message_new_duration), (gst_message_parse_state_changed),
7478         (gst_message_parse_segment_start),
7479         (gst_message_parse_segment_done), (gst_message_parse_duration):
7480         * gst/gstmessage.h:
7481         * tools/gst-launch.c: (event_loop):
7482         Make messages future proof.
7483         state-change gets a flag if it was a message comming from the
7484         streaming thread.
7485         segment-start/stop can also be specified in other formats.
7486         A message to notify an app that a pipeline changed playback 
7487         duration.
7488         Also fix a GstMessage leak in -launch
7489
7490 2005-10-18  Andy Wingo  <wingo@pobox.com>
7491
7492         * gst/gstelement.c (gst_element_dispose): More helpful message.
7493
7494 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7495
7496         reviewed by: <delete if not using a buddy>
7497
7498         * common/gtk-doc.mak:
7499
7500 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7501
7502         * gst/gstregistry.c: (gst_registry_scan_path_level):
7503           unref a plug-in we get that was already initialized
7504
7505 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7506
7507         * docs/gst/gstreamer-sections.txt:
7508         * docs/libs/gstreamer-libs-sections.txt:
7509         * gst/gstelement.h:
7510           add new api entries
7511           hide internal macro
7512
7513 2005-10-17  Andy Wingo  <wingo@pobox.com>
7514
7515         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
7516         cleanup.
7517
7518         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
7519
7520         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
7521
7522         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
7523         (gst_element_get_state_func): Better debug message.
7524         (gst_element_commit_state): s/INFO/DEBUG/.
7525         (gst_element_lost_state, gst_element_change_state): 
7526
7527         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
7528         (gst_message_new_custom): s/INFO/LOG/.
7529
7530 2005-10-17  Michael Smith <msmith@fluendo.com>
7531
7532         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7533           Check if end time is valid using end time, not start time.
7534
7535 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
7536
7537         * check/gst-libs/controller.c: (GST_START_TEST),
7538         (gst_controller_suite):
7539         * libs/gst/controller/gstcontroller.c:
7540         (gst_controlled_property_set_interpolation_mode):
7541         * libs/gst/controller/gstcontroller.h:
7542         * libs/gst/controller/gstinterpolation.c:
7543         * testsuite/controller/.cvsignore:
7544         * testsuite/controller/Makefile.am:
7545         * testsuite/controller/interpolator.c:
7546           merge controller testsuites
7547           fix broken tests
7548           remove mem-chunk from docs
7549
7550 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7551
7552         * gst/gstmemchunk.c:
7553         * gst/gstmemchunk.h:
7554         * gst/gsttrashstack.c:
7555         * gst/gsttrashstack.h:
7556           out.  get out.  you're fired.  to the Attic !
7557
7558 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7559
7560         * gst/gstcaps.c: (gst_caps_intersect):
7561           fix signedness issues in a (hopefully) correct way
7562         * gst/gstelement.c: (gst_element_pads_activate):
7563           some debugging
7564         * gst/gstobject.c: (gst_object_set_parent):
7565           some debugging
7566
7567 2005-10-17  Julien MOUTTE  <julien@moutte.net>
7568
7569         * gst/gstvalue.h: Fix prototypes.
7570
7571 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7572
7573         * docs/gst/gstreamer-sections.txt:
7574         * gst/gst.c: (gst_version_string):
7575         * gst/gst.h:
7576         * gst/gstversion.h.in:
7577         * win32/common/libgstreamer.def:
7578           add gst_version_string ()
7579
7580 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7581
7582         * configure.ac:
7583           clean up further
7584         * gst/gst.c: (init_post):
7585         * win32/common/config.h.in:
7586           it's PLUGINDIR now
7587         * gst/gstcaps.c: (gst_caps_intersect):
7588           use gint64, the range could be bigger than a guint
7589
7590 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7591
7592         * gst/gstclock.h:
7593           document potential problem in 2038
7594
7595 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         * gst/gstcaps.c: (gst_caps_intersect):
7598           Fix guint j diving under 0
7599
7600 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7601
7602         * configure.ac:
7603         * win32/common/config.h:
7604         * win32/common/config.h.in:
7605           check for process.h, declares getpid() on Windows
7606         * gst/gstinfo.c:
7607           include process.h if we have it
7608         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
7609         * gst/gstmemchunk.h:
7610           fix signedness issues
7611         * win32/common/libgstreamer.def:
7612           fix get_type's
7613
7614 2005-10-16  Julien MOUTTE  <julien@moutte.net>
7615
7616         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
7617         fix. Because of unsigned ints, caps intersection was going nuts and
7618         trying to access structures with G_MAXUINT index. That fixes
7619         videotestsrc ! ffmpegcolorspace ! fakesink
7620         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
7621         consistency.
7622
7623 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         * configure.ac:
7626           use the gettext macro
7627         * gst/elements/gstelements.c:
7628         * gst/gst.c:
7629         * gst/indexers/gstindexers.c:
7630           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
7631         * win32/common/config.h:
7632           updated config.h
7633         * win32/common/config.h.in:
7634           add the template to generate config.h
7635         * win32/common/gstenumtypes.c:
7636         * win32/common/gstversion.h:
7637           updated copies
7638
7639 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7640
7641         * gst/gst.c: (gst_version):
7642         * gst/gstversion.h.in:
7643           add the nano
7644
7645 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7646
7647         * gst/gstevent.h:
7648           Oops, add missing closing bracket.
7649
7650 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7651
7652         * configure.ac:
7653           use common m4's for argument checking
7654
7655 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7656
7657         * docs/gst/gstreamer-sections.txt:
7658         * gst/gstevent.h:
7659           Add GST_EVENT_TYPE_NAME() macro.
7660
7661 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7662
7663         * gst/gstinfo.c:
7664         * gst/gstpluginfeature.c:
7665         * gst/gsttask.c:
7666           privatize more symbols
7667
7668 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7669
7670         * configure.ac:
7671           add srcdir, builddir includes to GST_ALL_CFLAGS, since
7672           everything that uses GStreamer API should have the includes
7673
7674 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * docs/gst/gstreamer-sections.txt:
7677         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7678         * gst/gstvalue.h:
7679           give each value a _get_type, removes the DATA exports
7680
7681 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * gst/gst.c:
7684         * gst/gst.h:
7685           remove _gst_registry_auto_load, not used anymore
7686         * gst/gstbin.c: (gst_bin_get_type):
7687         * gst/gstbin.h:
7688         * gst/gstelement.c: (gst_element_get_type):
7689         * gst/gstelement.h:
7690         * gst/gstobject.c: (gst_object_get_type):
7691         * gst/gstobject.h:
7692         * gst/gstpad.c: (gst_pad_get_type):
7693         * gst/gstpad.h:
7694           make _get_type functions similar, fixes data export from library
7695
7696 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7697
7698         * configure.ac:
7699           correctly make conditionals
7700         * gst/elements/Makefile.am:
7701         * gst/elements/gstelements.c:
7702           fix typo causing fdsrc not to build
7703
7704 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7705
7706         * testsuite/Makefile.am:
7707         * testsuite/bytestream/.cvsignore:
7708         * testsuite/bytestream/Makefile.am:
7709         * testsuite/bytestream/filepadsink.c:
7710         * testsuite/bytestream/gstbstest.c:
7711         * testsuite/bytestream/test1.c:
7712         * testsuite/bytestream/testfile1:
7713         * testsuite/caps/normalisation.c:
7714         * testsuite/caps/random.c: (main):
7715         * testsuite/cleanup/.cvsignore:
7716         * testsuite/cleanup/Makefile.am:
7717         * testsuite/cleanup/cleanup1.c:
7718         * testsuite/cleanup/cleanup2.c:
7719         * testsuite/cleanup/cleanup3.c:
7720         * testsuite/cleanup/cleanup4.c:
7721         * testsuite/cleanup/cleanup5.c:
7722         * testsuite/controller/interpolator.c:
7723         * testsuite/debug/printf_extension.c: (main):
7724         * testsuite/elements/tee.c:
7725         * testsuite/negotiation/.cvsignore:
7726         * testsuite/negotiation/Makefile.am:
7727         * testsuite/negotiation/pad_link.c:
7728         * testsuite/pad/Makefile.am:
7729         * testsuite/pad/chainnopull.c:
7730         * testsuite/pad/getnopush.c:
7731         * testsuite/pad/link.c:
7732         * testsuite/refcounting/sched.c: (create_pipeline):
7733         * testsuite/registry/Makefile.am:
7734         * testsuite/registry/gst-print-formats.c:
7735         * testsuite/schedulers/.cvsignore:
7736         * testsuite/schedulers/142183-2.c:
7737         * testsuite/schedulers/142183.c:
7738         * testsuite/schedulers/143777-2.c:
7739         * testsuite/schedulers/143777.c:
7740         * testsuite/schedulers/147713.c:
7741         * testsuite/schedulers/147819.c:
7742         * testsuite/schedulers/147894-2.c:
7743         * testsuite/schedulers/147894.c:
7744         * testsuite/schedulers/Makefile.am:
7745         * testsuite/schedulers/group_link.c:
7746         * testsuite/schedulers/queue_link.c:
7747         * testsuite/schedulers/relink.c:
7748         * testsuite/schedulers/unlink.c:
7749         * testsuite/schedulers/unref.c:
7750         * testsuite/schedulers/useless_iteration.c:
7751         * testsuite/states/bin.c:
7752           clean out/remove some stuff from the testsuite directories
7753
7754 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7755
7756         * configure.ac:
7757           check for some headers
7758         * gst/elements/Makefile.am:
7759         * gst/elements/gstelements.c:
7760           don't compile fdsrc without sys/socket.h
7761         * gst/indexers/Makefile.am:
7762         * gst/indexers/gstindexers.c: (plugin_init):
7763           don't compile fileindex without mmap
7764
7765 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7766
7767         * configure.ac:
7768           reorganize
7769           clean up
7770           document more
7771           remove cruft
7772         * check/Makefile.am:
7773         * docs/gst/Makefile.am:
7774         * examples/helloworld/Makefile.am:
7775         * gst/Makefile.am:
7776         * gst/base/Makefile.am:
7777         * gst/check/Makefile.am:
7778         * gst/elements/Makefile.am:
7779         * gst/indexers/Makefile.am:
7780         * gst/parse/Makefile.am:
7781         * libs/gst/controller/Makefile.am:
7782         * libs/gst/dataprotocol/Makefile.am:
7783         * examples/helloworld/helloworld.c: (event_loop):
7784           compile fixes, though it's not being compiled currently
7785
7786 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7787
7788         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7789           Add some simple tests for the new taglist date API.
7790
7791 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7792
7793         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7794         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7795           Beautify 'last-message' output: print 'none' for buffer timestamps
7796           and durations if none is set; improve alignment with next messages.
7797
7798 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7799
7800         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7801         * gst/gstpluginfeature.h:
7802         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7803         * gst/gstregistry.h:
7804         * docs/gst/gstreamer-sections.txt:
7805           Add new API to check plugin feature version requirements.
7806
7807         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7808           Some basic tests for the above.         
7809
7810 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7811
7812         * gst/gststructure.c: (gst_structure_to_string):
7813           guard against NULL printf - happens when for example
7814           a message structure with GstClock gets serialized
7815
7816 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7817
7818         * gst/base/gstcollectpads.c: (gst_collectpads_event):
7819           Fix presumable copy'n'pasto.
7820
7821 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7822
7823         * gst/elements/gstfakesrc.h:
7824         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7825         * gst/elements/gsttypefindelement.c:
7826           fix some signedness
7827         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7828           I wonder if this could actually write +2GB files before
7829
7830 2005-10-13  Andy Wingo  <wingo@pobox.com>
7831
7832         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7833         Fix Timmeke Waymans bug.
7834         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7835         string of the proper length to gst_caps_from_string. There's a
7836         potential for, before this fix, that this could cause someone
7837         connecting over the network to cause a segfault if the payload is
7838         not NUL-terminated.
7839
7840 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7841
7842         * docs/design/draft-push-pull.txt:
7843         * docs/design/part-overview.txt:
7844         * docs/random/TODO-pre-0.9:
7845         * docs/random/old/ChangeLog.gstreamer:
7846         * gst/base/gstpushsrc.c:
7847         * gst/gstclock.c:
7848           fixed typos
7849
7850 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7851
7852         * gst/glib-compat.c: (gst_flags_get_first_value):
7853         * gst/glib-compat.h:
7854         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7855         (gst_value_compare_double), (gst_value_serialize_flags):
7856           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7857           infinite loop
7858
7859 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7860
7861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7862         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7863           fix up debugging
7864         * tools/gst-launch.c: (event_loop):
7865           print out clock nicely
7866
7867 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7868
7869         * docs/gst/gstreamer-sections.txt:
7870         * gst/gsttaglist.h:
7871         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7872         (gst_tag_list_get_date_index):
7873           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7874           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7875
7876 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7877
7878         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7879         (gst_collectpads_chain):
7880         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7881         in CollectData.
7882
7883 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7884
7885         * docs/gst/gstreamer-sections.txt:
7886         * gst/gst.c:
7887         * gst/gsterror.h:
7888         * tools/gst-inspect.c: (main):
7889         * tools/gst-launch.c: (main):
7890         * tools/gst-run.c: (main):
7891         * tools/gst-xmlinspect.c: (main):
7892           fix GOption context leaks
7893           doc fixes
7894
7895 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7896
7897         * gst/gstbus.c:
7898           use HAVE_UNISTD_H
7899         * win32/common/config.h:
7900           update config
7901         * win32/vs6/grammar.dsp:
7902         * win32/vs6/libgstelements.dsp:
7903         * win32/vs6/libgstreamer.dsp:
7904           update vs6 files
7905
7906 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7907
7908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7909         * gst/base/gstbasesrc.c: (gst_base_src_query):
7910           fix more guint64<->gdouble conversions
7911
7912 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7913
7914         * Makefile.am:
7915           add win32-update target
7916         * win32/common/gstconfig.h:
7917         * win32/common/gstenumtypes.c:
7918         * win32/common/gstenumtypes.h:
7919         * win32/common/gstversion.h:
7920           add files that visual studio can't generate
7921
7922 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7923
7924         * Makefile.am:
7925           add a win32-update target
7926         * configure.ac:
7927
7928 2005-10-12  Wim Taymans  <wim@fluendo.com>
7929
7930         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7931         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7932         * gst/gstelement.c: (gst_element_commit_state),
7933         (gst_element_set_state):
7934         Protect flags with proper lock.
7935         unref provided cached clock in dispose.
7936
7937 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7938
7939         * gst/gst.c:
7940         * gst/gstminiobject.h:
7941         * gst/gstpad.h:
7942         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7943           removed unused flags from miniobject
7944           doc fixes
7945
7946 2005-10-12  Wim Taymans  <wim@fluendo.com>
7947
7948         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7949         (gst_file_sink_event), (gst_file_sink_render):
7950         Flush before seeking.
7951
7952 2005-10-12  Andy Wingo  <wingo@pobox.com>
7953
7954         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7955         always been the case.
7956
7957 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7958
7959         * check/gst/gstbin.c: (GST_START_TEST):
7960         * docs/gst/gstreamer-sections.txt:
7961         * gst/base/gstbasesink.c: (gst_base_sink_init):
7962         * gst/base/gstbasesrc.c: (gst_base_src_init),
7963         (gst_base_src_get_range), (gst_base_src_check_get_range),
7964         (gst_base_src_start), (gst_base_src_stop):
7965         * gst/base/gstbasesrc.h:
7966         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7967         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7968         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7969         (bin_bus_handler):
7970         * gst/gstbin.h:
7971         * gst/gstbuffer.h:
7972         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7973         * gst/gstbus.h:
7974         * gst/gstelement.c: (gst_element_is_locked_state),
7975         (gst_element_set_locked_state), (gst_element_commit_state),
7976         (gst_element_set_state):
7977         * gst/gstelement.h:
7978         * gst/gstindex.c: (gst_index_init):
7979         * gst/gstindex.h:
7980         * gst/gstminiobject.h:
7981         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7982         (gst_object_set_parent):
7983         * gst/gstobject.h:
7984         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7985         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7986         * gst/gstpad.h:
7987         * gst/gstpadtemplate.h:
7988         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7989         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7990         * gst/gstpipeline.h:
7991         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7992         (gst_file_index_commit):
7993         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7994         * testsuite/pad/link.c: (gst_test_src_init),
7995         (gst_test_filter_init), (gst_test_sink_init):
7996         * testsuite/states/locked.c: (main):
7997           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7998           moved bitshift from macro to enum definition
7999
8000 2005-10-12  Wim Taymans  <wim@fluendo.com>
8001
8002         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8003         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8004         (gst_file_sink_render):
8005         Some more debugging info.
8006
8007 2005-10-12  Wim Taymans  <wim@fluendo.com>
8008
8009         * docs/design/part-states.txt:
8010         * tools/gst-launch.c: (main):
8011         Some doc updates.
8012         Revert non-intentional change.
8013
8014 2005-10-12  Wim Taymans  <wim@fluendo.com>
8015
8016         * check/gst/gstbin.c: (GST_START_TEST):
8017         * check/gst/gstelement.c: (GST_START_TEST):
8018         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8019         * check/gst/gstghostpad.c: (GST_START_TEST):
8020         * check/gst/gstpipeline.c: (GST_START_TEST):
8021         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8022         * check/states/sinks.c: (GST_START_TEST):
8023         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8024         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8025         (gst_bin_remove_func), (gst_bin_get_state_func),
8026         (gst_bin_recalc_state), (gst_bin_change_state_func),
8027         (bin_bus_handler):
8028         * gst/gstelement.c: (gst_element_get_state_func),
8029         (gst_element_get_state), (gst_element_abort_state),
8030         (gst_element_commit_state), (gst_element_set_state),
8031         (gst_element_change_state), (gst_element_change_state_func):
8032         * gst/gstelement.h:
8033         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8034         (gst_pipeline_provide_clock_func):
8035         * gst/gstutils.c: (gst_element_link_pads_filtered):
8036         * tools/gst-launch.c: (main):
8037         * tools/gst-typefind.c: (main):
8038         Use GstClockTime in _get_state() instead of GTimeVal.
8039         Remove old code in gstutils.c
8040
8041 2005-10-12  Andy Wingo  <wingo@pobox.com>
8042
8043         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8044         removed.
8045
8046         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8047         there is no task. Shouldn't affect any code, as nothing in our
8048         plugins checks this return value.
8049         (gst_pad_stop_task): Also take the stream lock if the pad has no
8050         task. Docs updated.
8051
8052 2005-10-12  Wim Taymans  <wim@fluendo.com>
8053
8054         * gst/gstpad.c: (pre_activate), (post_activate),
8055         (gst_pad_activate_pull), (gst_pad_activate_push):
8056         Cleanup activation code. Reset old state if
8057         activation failed.
8058
8059 2005-10-12  Wim Taymans  <wim@fluendo.com>
8060
8061         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8062         (gst_base_sink_change_state):
8063         No need to prerol after receiving EOS.
8064
8065         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8066         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8067         * gst/elements/gstidentity.c: (gst_identity_event):
8068         Print events more verbosely.
8069
8070 2005-10-12  Wim Taymans  <wim@fluendo.com>
8071
8072         * check/Makefile.am:
8073         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8074         * check/states/sinks2.c:
8075         Moved sinks2 testcode in sinks check.
8076
8077         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8078         (gst_bin_remove_func), (gst_bin_recalc_state),
8079         (gst_bin_change_state_func), (bin_bus_handler):
8080         Fix potential race condition when _get_state() iterated over an
8081         ASYNC element right before it posted a state completion.
8082
8083         * gst/gstclock.h:
8084         Do proper cast here.
8085
8086         * gst/gstevent.c: (gst_event_new_newsegment),
8087         (gst_event_parse_newsegment):
8088         A playback rate of 0.0 is not allowed.
8089
8090 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8091
8092         * win32/common/config.h:
8093         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8094         (_trewinddir), (_ttelldir), (_tseekdir):
8095         * win32/common/dirent.h:
8096         * win32/common/gtchar.h:
8097         * win32/common/libgstbase.def:
8098         * win32/common/libgstreamer.def:
8099         * win32/vs6/grammar.dsp:
8100         * win32/vs6/gst_inspect.dsp:
8101         * win32/vs6/gst_launch.dsp:
8102         * win32/vs6/gstreamer.dsw:
8103         * win32/vs6/libgstbase.dsp:
8104         * win32/vs6/libgstelements.dsp:
8105         * win32/vs6/libgstreamer.dsp:
8106           Visual Studio 6 project files, and a new common directory.
8107           Phear.
8108
8109 2005-10-11  Wim Taymans  <wim@fluendo.com>
8110
8111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8112         (gst_base_sink_do_sync), (gst_base_sink_query),
8113         (gst_base_sink_change_state):
8114         * gst/base/gstbasesink.h:
8115         Correctly parse newsegment info.
8116
8117 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8118
8119         * gst/gst.c: (init_post):
8120           split plugin paths correctly
8121
8122 2005-10-11  Wim Taymans  <wim@fluendo.com>
8123
8124         * check/gst/gstevent.c: (GST_START_TEST):
8125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8126         (gst_base_sink_change_state):
8127         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8128         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8129         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8130         * gst/gstevent.c: (gst_event_new_newsegment),
8131         (gst_event_parse_newsegment):
8132         * gst/gstevent.h:
8133         Added extra flag to newsegment for future API freeze.
8134         Updated check and base elements.
8135
8136 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8137
8138         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8139         (gst_collectpads_add_pad), (gst_collectpads_pop),
8140         (gst_collectpads_event), (gst_collectpads_chain):
8141         * gst/base/gstcollectpads.h: Handle EOS correctly.
8142
8143 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8144
8145         * tools/gst-launch.c: (main):
8146           more null protecting
8147
8148 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8149
8150         * gst/gst-i18n-lib.h:
8151           check for ENABLE_NLS, not GETTEXT_PACKAGE
8152         * gst/gstregistry.c: (gst_registry_add_plugin),
8153         (gst_registry_scan_path_level),
8154         (_gst_registry_remove_cache_plugins):
8155           protect possibly NULL strings
8156         * gst/parse/types.h:
8157           config.h already included before
8158         * tools/gst-inspect.c: (main):
8159           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8160           check for ENABLE_NLS, not GETTEXT_PACKAGE
8161         * tools/gst-launch.c: (main):
8162           check for ENABLE_NLS, not GETTEXT_PACKAGE
8163
8164 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * configure.ac:
8167           if we don't have glib, fail before testing 2.8
8168         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8169           fix a leak, should fix plugins-base testsuite
8170
8171 2005-10-11  Andy Wingo  <wingo@pobox.com>
8172
8173         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8174         take the mode we're going to as an arg. Go head and set the mode
8175         and flushing flags now, so that if the activate function starts a
8176         thread all the flags will be in the right state.
8177         (post_activate): Renamed also. Just handle making sure streaming
8178         finishes for the deactivation case, and setting the deactivated
8179         mode.
8180         (gst_pad_set_active): Complain loudly if deactivation fails.
8181         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8182         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8183         remove the terrible hack.
8184
8185 2005-10-11  Wim Taymans  <wim@fluendo.com>
8186
8187         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8188         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8189         (gst_bin_recalc_state), (gst_bin_change_state_func),
8190         (gst_bin_dispose), (bin_bus_handler):
8191         * gst/gstbin.h:
8192         Prepare to make current EOS message queue more generic.
8193         Fix some typos.
8194
8195         * gst/gstevent.c: (gst_event_new_newsegment),
8196         (gst_event_parse_newsegment):
8197         * gst/gstevent.h:
8198         Rename base to stream_time.
8199
8200         * gst/gstmessage.h:
8201         Fix typo in docs.
8202
8203 2005-10-11  Wim Taymans  <wim@fluendo.com>
8204
8205         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8206         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8207         (gst_bin_change_state_func), (bin_bus_handler):
8208         * gst/gstbin.h:
8209         Work on proper clock selection.
8210
8211 2005-10-11  Edward Hervey  <edward@fluendo.com>
8212
8213         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8214         * libs/gst/controller/gstcontroller.h:
8215         Added GList* version of _remove_properties() in order to be able to wrap
8216         it in bindings.
8217
8218 2005-10-11  Wim Taymans  <wim@fluendo.com>
8219
8220         * docs/design/part-states.txt:
8221         Some more docs.
8222
8223         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8224         (gst_bin_change_state_func), (bin_bus_handler):
8225         Doc updates. Don't distribute the same clock over and over again.
8226
8227         * gst/gstclock.c:
8228         * gst/gstclock.h:
8229         Doc updates.
8230
8231         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8232         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8233         (gst_pad_send_event):
8234         * gst/gstpad.h:
8235         Make probe emission threadsafe again.
8236         Register quarks and move _get_name() from utils.
8237         Doc updates.
8238
8239         * gst/gstpipeline.c: (gst_pipeline_class_init),
8240         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8241         Only redistribute the clock of it changed.
8242
8243         * gst/gstsystemclock.h:
8244         Doc updates. 
8245
8246         * gst/gstutils.c:
8247         * gst/gstutils.h:
8248         Moved the _flow_get_name() to GstPad.
8249
8250 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8251
8252         * check/gst-libs/gdp.c: (GST_START_TEST):
8253         * check/gst/gstcaps.c: (GST_START_TEST):
8254         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8255         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8256         (gst_dp_packet_from_caps):
8257           fix more valgrind warnings before turning up the heat
8258
8259 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8260
8261         * gst/parse/grammar.y:
8262           some cleanup before the hacking
8263
8264 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8265
8266         * gst/base/gstbasesrc.c: (gst_base_src_query):
8267           use conversions
8268         * gst/gstutils.c: (gst_guint64_to_gdouble),
8269         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8270         * gst/gstutils.h:
8271           externalize, basesrc uses it
8272           obviously the implementation needs testing
8273
8274 2005-10-10  Wim Taymans  <wim@fluendo.com>
8275
8276         * tests/sched/Makefile.am:
8277         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8278         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8279
8280 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8281
8282         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8283           apparently converting from guint64 to double is not implemented
8284           on MSVC
8285
8286 2005-10-10  Wim Taymans  <wim@fluendo.com>
8287
8288         * check/Makefile.am:
8289         * check/generic/states.c: (GST_START_TEST):
8290         * check/gst/gstbin.c: (GST_START_TEST):
8291         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8292         * check/states/sinks.c: (GST_START_TEST):
8293         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8294         (main):
8295         Check fixes, use API as stated in design docs, remove hacks.
8296
8297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8298         (gst_base_sink_change_state):
8299         Catch stopping our task while we're shutting down.
8300
8301         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8302         (gst_bin_remove_func), (gst_bin_get_state_func),
8303         (gst_bin_recalc_state), (gst_bin_change_state_func),
8304         (bin_bus_handler):
8305         * gst/gstbin.h:
8306         * gst/gstelement.c: (gst_element_init),
8307         (gst_element_get_state_func), (gst_element_abort_state),
8308         (gst_element_commit_state), (gst_element_lost_state),
8309         (gst_element_set_state), (gst_element_change_state),
8310         (gst_element_change_state_func):
8311         * gst/gstelement.h:
8312         New state change algorithm (see #318116)
8313
8314         * gst/gstpipeline.c: (gst_pipeline_class_init),
8315         (gst_pipeline_init), (gst_pipeline_set_property),
8316         (gst_pipeline_get_property), (do_pipeline_seek),
8317         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8318         * gst/gstpipeline.h:
8319         Remove crude state change hacks.
8320
8321         * gst/gstutils.h:
8322         Remove crude hacks.
8323
8324         * tools/gst-launch.c: (main):
8325         Fixes for state change. Needs some more work to fully use the
8326         new stuff.
8327
8328 2005-10-10  Andy Wingo  <wingo@pobox.com>
8329
8330         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8331
8332         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8333         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8334         issue.
8335
8336 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8337
8338         * gst/gstiterator.c: (gst_iterator_new):
8339           Fix my previous commit: GTypes passed to gst_iterator_new()
8340           can be fundamental types.
8341
8342 2005-10-10  Wim Taymans  <wim@fluendo.com>
8343
8344         * gst/gstelement.c: (gst_element_iterate_pad_list),
8345         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8346         (gst_element_iterate_sink_pads):
8347         Use src/sink pads lists for the respective iterators instead
8348         of filtering.
8349
8350 2005-10-10  Andy Wingo  <wingo@pobox.com>
8351
8352         Merged in popt removal + GOption addition patch from Ronald, bug
8353         #169772.
8354
8355         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8356         GstElement macros around, remove popt-related symbols, add goption
8357         stuff.
8358
8359         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8360         
8361         * docs/gst/Makefile.am:
8362         * docs/libs/Makefile.am: No POPT_CFLAGS.
8363         
8364         * examples/manual/Makefile.am:
8365         * docs/manual/basics-init.xml: Doc updates with an example.
8366         
8367         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8368         (gst_init), (parse_one_option), (parse_goption_arg):
8369         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8370         bit of hand merging and debugging to get the GOption stuff working
8371         tho.
8372         
8373         * tests/Makefile.am:
8374         * tools/Makefile.am:
8375         * tools/gst-inspect.c: (main):
8376         * tools/gst-launch.c: (main):
8377         * tools/gst-run.c: (main):
8378         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8379
8380 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8381
8382         * gst/gstiterator.c: (gst_iterator_new):
8383           Add assertions to make sure passed GType is likely to really
8384           be a GType (as the compiler won't catch it if the size and
8385           GType arguments get mixed up, see #318447).
8386
8387 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8388
8389         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8390
8391         * gst/gstbin.c: (gst_bin_iterate_sorted):
8392           Pass GType and size arguments to gst_iterator_new() in the right
8393           order (maybe we should make _new() take the GType as first argument
8394           just like _new_list()?) (#318447).
8395           
8396
8397 2005-10-10  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/gstelement.c: (gst_element_finalize):
8400         And free the GStaticRecMutex too
8401
8402 2005-10-10  Andy Wingo  <wingo@pobox.com>
8403
8404         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8405         Allocate and free the mutex properly.
8406
8407         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8408         New macros.
8409         (GstElement): The state_lock is now recursive. Rebuild your
8410         plugins, suckers. Old macros adapted.
8411
8412         * docs/gst/gstreamer-sections.txt: Doc updates.
8413
8414         * gst/gstutils.h:
8415         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8416         (g_static_rec_cond_wait): Ported from state changes patch, while
8417         we wait on bug #317802 to be solved in a well-distributed GLib.
8418
8419         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8420         gst_element_change_state, variable name changes.
8421         (gst_element_change_state): Split out of gst_element_set_state in
8422         preparation for the state change merge. Doesn't pay attention to
8423         the 'transition' argument.
8424         (gst_element_set_state): Updates, hopefully purely cosmetic.
8425         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8426         state change patch.
8427         (gst_element_get_state_func): Renamed from get_state, cosmetic
8428         changes.
8429
8430 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8431
8432         * gst/elements/gstelements.c:
8433         * win32/GStreamer.vcproj:
8434         * win32/config.h:
8435         * win32/dirent.c: (_tseekdir):
8436         * win32/gst-inspect.vcproj:
8437         * win32/gst-launch.vcproj:
8438         * win32/gstconfig.h:
8439         * win32/gstelements.vcproj:
8440         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8441         * win32/gstreamer.def:
8442         * win32/msvc71.sln:
8443           updates for the win32 build (patch from Sebastien Moutte)
8444
8445 2005-10-10  Andy Wingo  <wingo@pobox.com>
8446
8447         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8448         gst_bin_get_state, cleaned up (but no logic changes).
8449         (bin_element_is_sink): Comment updates.
8450         (sink_iterator_filter): Remove needless cast.
8451         (gst_bin_iterate_sinks): Doc update.
8452         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8453         cleaned up (but no logic changes).
8454
8455         * check/states/sinks.c (test_src_sink): Cleanups from the state
8456         change patch.
8457         (test_livesrc_sink): Sync on the state.
8458
8459         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8460         the state change patch.
8461
8462         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8463         change patch.
8464
8465         * check/gst/gstbin.c: Merge in some style fixes and additional
8466         checks from Wim's state change patch.
8467
8468 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8469
8470         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8471         (gst_type_find_helper):
8472           Check whether we have the requested data already in our list of
8473           cached buffers before pulling a new buffer; also make the buffer
8474           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8475
8476 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         * gst/gstcaps.c:
8479         * gst/gstevent.c:
8480           doc updates
8481         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8482           don't use long long, it's not portable.  Replacing with
8483           gint64 seems to work; let's hope no skeletons fall out of the closet.
8484
8485 2005-10-10  Andy Wingo  <wingo@pobox.com>
8486
8487         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8488
8489 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8490
8491         * docs/gst/gstreamer-sections.txt:
8492         * gst/gstevent.c:
8493         * gst/gstevent.h:
8494         * gst/gstinfo.c:
8495         * gst/gstinfo.h:
8496         * gst/gstmessage.c: (gst_message_parse_state_changed):
8497         * gst/gstpad.c:
8498         * gst/gstpad.h:
8499           more docs, fix compilation
8500
8501 2005-10-09  Philippe Khalaf <burger@speedy.org>
8502         * gst/gstmessage.c:
8503           Fixed a few forgotten variables on previous commit
8504
8505 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8506
8507         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8508           Fix evil typefind crasher: getrange() might return a short
8509           buffer at the end of a file, but gst_type_find_peek() must
8510           either return the full data as requested or NULL, but
8511           never a short buffer.
8512
8513 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8514
8515         * gst/gstmessage.c: (gst_message_new_state_changed),
8516         (gst_message_parse_state_changed):
8517         * gst/gstmessage.h:
8518           don't use "new", it's a C++ keyword
8519
8520 2005-10-08  Wim Taymans  <wim@fluendo.com>
8521
8522         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
8523         * gst/gstelement.c: (gst_element_post_message):
8524         * gst/gstpipeline.c: (gst_pipeline_change_state):
8525         Small docs and debug updates.
8526
8527 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8528
8529         * docs/gst/gstreamer-sections.txt:
8530         * gst/gstelementfactory.c:
8531         * gst/gstevent.c:
8532         * gst/gsttaglist.c:
8533           more docs
8534
8535 2005-10-08  Wim Taymans  <wim@fluendo.com>
8536
8537         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
8538         (gst_bin_dispose), (bin_bus_handler):
8539         Fix typos, add comments.
8540         Clear EOS list when going to PAUSED from any direction and do it
8541         in a threadsafe way.
8542         Get base time in a threadsafe way too.
8543         Fix confusing debug in the change_state function.
8544         Various other small cleanups.
8545         
8546         * gst/gstelement.c: (gst_element_post_message):
8547         Fix very verbose bus posting code.
8548
8549         * gst/gstpipeline.c: (gst_pipeline_class_init),
8550         (gst_pipeline_set_property), (gst_pipeline_get_property),
8551         (gst_pipeline_change_state):
8552         Small ARG_ -> PROP_ cleanup
8553
8554 2005-10-08  Wim Taymans  <wim@fluendo.com>
8555
8556         * gst/gstbin.c: (is_eos), (bin_bus_handler):
8557         Do a less CPU demanding EOS check because we can.
8558
8559 2005-10-08  Wim Taymans  <wim@fluendo.com>
8560
8561         * libs/gst/dataprotocol/dataprotocol.c:
8562         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8563         (gst_dp_packet_from_event):
8564         * libs/gst/dataprotocol/dataprotocol.h:
8565         * libs/gst/dataprotocol/dp-private.h:
8566         It's about time we bump the version number.
8567         Since event types don't fit in the guint8 anymore describing
8568         the payload type, make payload type 16 bits wide.
8569
8570 2005-10-08  Wim Taymans  <wim@fluendo.com>
8571
8572         * docs/design/part-TODO.txt:
8573         * docs/design/part-clocks.txt:
8574         * docs/design/part-events.txt:
8575         * docs/design/part-gstbin.txt:
8576         * docs/design/part-gstelement.txt:
8577         * docs/design/part-gstpipeline.txt:
8578         * docs/design/part-live-source.txt:
8579         * docs/design/part-messages.txt:
8580         * docs/design/part-overview.txt:
8581         * docs/design/part-states.txt:
8582         Many doc updates.
8583
8584 2005-10-08  Wim Taymans  <wim@fluendo.com>
8585
8586         * gst/gstevent.c:
8587         * gst/gstevent.h:
8588         Fix event quark registration.
8589         Add some space between events so we can insert them in the
8590         right groups.
8591
8592 2005-10-08  Wim Taymans  <wim@fluendo.com>
8593
8594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8595         (gst_base_sink_handle_buffer):
8596         Better log message.
8597
8598         * gst/gstbus.h:
8599         * gst/gstelement.h:
8600         More docs.
8601
8602         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8603         (gst_queue_set_property), (gst_queue_get_property):
8604         * gst/gstqueue.h:
8605         Remove old unused properties.
8606
8607 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8608         * docs/gst/gstreamer-sections.txt:
8609         * gst/gstmessage.c:
8610         * gst/gstmessage.h:
8611         * gst/gstminiobject.c:
8612         * gst/gstminiobject.h:
8613         * gst/gstobject.h:
8614         * gst/gstpad.h:
8615         * gst/gstutils.h:
8616           lots of new docs and doc fixes
8617
8618 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8619
8620         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
8621         * gst/gstplugin.h:
8622         * gst/gstregistry.c: (gst_registry_lookup_locked),
8623         (gst_registry_scan_path_level):
8624         * gst/gstregistryxml.c: (load_plugin):
8625           Only ever load one plugin for a given plugin basename.
8626           This ensures correct overriding of GST_PLUGIN_PATH over
8627           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
8628           system installed plugins.
8629
8630 2005-10-08  Wim Taymans  <wim@fluendo.com>
8631
8632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8633         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
8634         Prepare for doing QOS.
8635
8636 2005-10-08  Wim Taymans  <wim@fluendo.com>
8637
8638         * check/gst/gstbin.c: (GST_START_TEST):
8639         * check/pipelines/cleanup.c: (GST_START_TEST):
8640         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8641         Allow new clock message too.
8642
8643 2005-10-08  Wim Taymans  <wim@fluendo.com>
8644
8645         * gst/gstmessage.c: (gst_message_new_error),
8646         (gst_message_new_warning), (gst_message_new_tag),
8647         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8648         (gst_message_new_clock_lost), (gst_message_new_new_clock),
8649         (gst_message_new_segment_start), (gst_message_new_segment_done),
8650         (gst_message_parse_state_changed),
8651         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
8652         (gst_message_parse_new_clock):
8653         * gst/gstmessage.h:
8654         Also carry the clock in question.
8655
8656 2005-10-08  Wim Taymans  <wim@fluendo.com>
8657
8658         * gst/gstmessage.c: (gst_message_new_custom),
8659         (gst_message_new_eos), (gst_message_new_error),
8660         (gst_message_new_warning), (gst_message_new_tag),
8661         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8662         (gst_message_new_new_clock), (gst_message_new_segment_start),
8663         (gst_message_new_segment_done), (gst_message_parse_state_changed),
8664         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
8665         * gst/gstmessage.h:
8666         Clean up.
8667         Added clock related messages.
8668
8669         * gst/gstpipeline.c: (gst_pipeline_change_state):
8670         Post message when the clock changed.
8671
8672         * tools/gst-launch.c: (event_loop):
8673         Print new clock.
8674
8675 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8676
8677         * tools/gst-inspect.c: (print_element_properties_info):
8678           Can't pass NULL strings to g_print() on windows.
8679
8680 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * docs/Makefile.am:
8683         * docs/gst/Makefile.am:
8684         * docs/gst/gstreamer-docs.sgml:
8685         * docs/gst/running.xml:
8686         * docs/version.entities.in:
8687           add a chapter on running GStreamer.
8688           document GST_DEBUG and GST_PLUGIN* env vars
8689
8690 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8691
8692         * Makefile.am:
8693           remove include dir
8694         * configure.ac:
8695           remove PLUGINS_BUILDDIR stuff
8696         * gst/gst.c: (init_post):
8697           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
8698         * idiottest.mak:
8699           remove, it was condescending and not needed
8700
8701 2005-10-08  Wim Taymans  <wim@fluendo.com>
8702
8703         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
8704         (gst_base_sink_handle_object), (gst_base_sink_event),
8705         (gst_base_sink_wait), (gst_base_sink_handle_event),
8706         (gst_base_sink_change_state):
8707         * gst/base/gstbasesink.h:
8708         Repost EOS message while going to PLAYING if still EOS.
8709         Make sure that when receiving a FLUSH_START we don't attempt
8710         to sync on the clock anymore.
8711
8712 2005-10-08  Wim Taymans  <wim@fluendo.com>
8713
8714         * tools/gst-launch.c: (event_loop):
8715         Better message printout.
8716
8717 2005-10-08  Wim Taymans  <wim@fluendo.com>
8718
8719         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
8720         (gst_bin_child_proxy_get_children_count):
8721         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8722         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
8723         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
8724         (gst_child_proxy_set_valist):
8725         * gst/parse/grammar.y:
8726         Make ChildProxy threadsafe and fix mem leaks.
8727
8728 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8729
8730         * gst/gst.c: (init_post):
8731           debug the GST_PLUGIN_ env vars
8732
8733 2005-10-08  Wim Taymans  <wim@fluendo.com>
8734
8735         * check/gst/gstbin.c: (GST_START_TEST):
8736         * check/gst/gstmessage.c: (GST_START_TEST):
8737         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8738         * gst/gstelement.c: (gst_element_commit_state),
8739         (gst_element_lost_state):
8740         * gst/gstmessage.c: (gst_message_new_state_changed),
8741         (gst_message_parse_state_changed):
8742         * gst/gstmessage.h:
8743         * tools/gst-launch.c: (event_loop):
8744         Added extra field to STATE_CHANGE message with the pending
8745         state, which will be different from the new state soon.
8746
8747 2005-10-08  Wim Taymans  <wim@fluendo.com>
8748
8749         * gst/gstbus.c: (gst_bus_pop):
8750         * gst/gstclock.c:
8751         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8752         Small cleanups and doc updates.
8753
8754 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8755
8756         * gst/gst.c: (init_pre):
8757         * gst/gstbin.c: (gst_bin_add_func):
8758           log distributing clocks and base time
8759         * gst/gstregistry.c: (gst_registry_add_plugin),
8760         (gst_registry_scan_path_level), (gst_registry_scan_path):
8761           clean up the debugging output a little
8762         * gst/gstutils.c: (gst_element_state_get_name):
8763           warn about a memleak (I've actually seen this be used, though
8764           it was probably a bug)
8765
8766 2005-10-07  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8769         (gst_base_src_init), (gst_base_src_default_newsegment),
8770         (gst_base_src_newsegment), (gst_base_src_do_seek),
8771         (gst_base_src_loop), (gst_base_src_start):
8772         * gst/base/gstbasesrc.h:
8773         Make the newsegment event customizable by subclasses.
8774
8775 2005-10-07  Wim Taymans  <wim@fluendo.com>
8776
8777         * gst/gstevent.c: (gst_event_new_buffersize),
8778         (gst_event_parse_buffersize):
8779         * gst/gstevent.h:
8780         New event for future idea.
8781
8782 2005-10-07  Andy Wingo  <wingo@pobox.com>
8783
8784         * gst/gstelement.c (gst_element_post_message): Doc update.
8785
8786         * docs/gst/gstreamer-sections.txt: Update.
8787
8788         * gst/gstmessage.c (gst_message_new_application): Made into a
8789         function like honest API calls.
8790         (gst_message_new_element): New message type.
8791
8792         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8793
8794         * check/elements/fakesrc.c (test_no_preroll): New check, checks
8795         that setting a live fakesrc to PAUSED returns NO_PREROLL both
8796         times.
8797
8798         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8799         NO_PREROLL from gst_element_change_state to fall through.
8800
8801 2005-10-07  Wim Taymans  <wim@fluendo.com>
8802
8803         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8804         (gst_ghost_pad_do_activate_push):
8805         Activating a ghostpad with no internal pad in push mode
8806         is ok.
8807
8808 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * gst/gstobject.h:
8811           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8812           Fixes compilation on Windows.
8813
8814 2005-10-07  Michael Smith <msmith@fluendo.com>
8815
8816         * tools/gst-inspect.c:
8817           Print out feature and plugin count at the end when printing out
8818           all features.
8819
8820 2005-10-04  Michael Smith <msmith@fluendo.com>
8821
8822         * gst/gsterror.c: (_gst_stream_errors_init):
8823           Add another error string used in a few existing plugins.
8824
8825         * gst/gstplugin.c:
8826         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8827         * tools/gst-inspect.c: (print_element_info):
8828           When a feature disappears from a plugin (and the feature exists in
8829           the cached registry file), things went horribly wrong. This isn't a
8830           complete fix, we should actually be removing the 'missing' features
8831           from the features list when we load the actual plugin. That's not
8832           yet implemented. 
8833
8834 2005-10-04  Johan Dahlin  <johan@gnome.org>
8835
8836         * check/gst/gstiterator.c: (GST_START_TEST):
8837         * gst/gstbin.c: (gst_bin_iterate_elements),
8838         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8839         * gst/gstelement.c: (gst_element_iterate_pads):
8840         * gst/gstformat.c: (gst_format_iterate_definitions):
8841         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8842         (gst_iterator_new_list), (gst_iterator_filter):
8843         * gst/gstiterator.h:
8844         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8845         Add a GType to GstIterator, update callsites and tests.
8846
8847 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8848
8849         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8850           give events a chance to be handled by event probes when the pad
8851           is not linked
8852
8853 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8854
8855         * gst/gstevent.c: (gst_event_type_get_name),
8856         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8857         * gst/gstevent.h:
8858           add string representations for event types
8859
8860 2005-10-06  Wim Taymans  <wim@fluendo.com>
8861
8862         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8863         Don't use NULL pointers.
8864
8865 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8866
8867         * gst/gst_private.h:
8868         * gst/gstbus.c:
8869         * gst/gstelement.c:
8870         * gst/gstinfo.c:
8871         * gst/gstpluginfeature.c:
8872           widen the debug category in output to fit the biggest one we have
8873           add a bus category and use it
8874           play with the colors
8875           fix up some categories
8876
8877 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8878
8879         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8880           add push activation of sink ghost pads.
8881           Andye, please verify
8882
8883 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8884
8885         * gst/gstutils.c: (gst_element_link_pads):
8886           fix a bug in the case where neither element has a pad
8887         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8888           add a test for that case
8889
8890 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8891
8892         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8893           emit have-data before checking for peers.  This allows
8894           for probe handlers to connect elements.  This helps autopluggers.
8895         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8896         (gst_pad_suite):
8897           add six checks, linked/unlinked with no/true/false probe
8898
8899 2005-10-04  Wim Taymans  <wim@fluendo.com>
8900
8901         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8902         (gst_fake_sink_event), (gst_fake_sink_preroll),
8903         (gst_fake_sink_render), (gst_fake_sink_change_state):
8904         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8905         (gst_fake_src_get_property), (gst_fake_src_create),
8906         (gst_fake_src_stop):
8907         * gst/elements/gstidentity.c: (gst_identity_stop):
8908         Protect last_message with lock.
8909
8910 2005-10-04  Edward Hervey  <edward@fluendo.com>
8911
8912         * gst/gstformat.h: 
8913         Added precision in the comments for GST_FORMAT_DEFAULT
8914
8915 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8916
8917         * tools/gst-launch.c: (main):
8918           Don't try to run erroneous pipelines.
8919
8920 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8921
8922         * gst/gstbus.c: We don't need this header.
8923
8924 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8925
8926         * configure.ac:
8927           back to development
8928
8929 === release 0.9.3 ===
8930
8931 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8932
8933         * README:
8934         * configure.ac:
8935           Releasing 0.9.3, "Unregistered"
8936
8937 2005-10-03  Andy Wingo  <wingo@pobox.com>
8938
8939         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8940         whereby calling a pad's activatepush() function can start a thread
8941         that starts to push or pull before the pad gets the FLUSHING flag
8942         unset. Hack around it by holding the stream lock until the flag is
8943         set. Need to replace this with a proper solution. Together with
8944         the ghost pad fixes, this fixes mp3 playing/tagreading.
8945
8946         * docs/design/part-gstghostpad.txt: Add a note about activation of
8947         proxy pads outside of ghost pads.
8948
8949         * gst/gstghostpad.c: Implement the ghost pad activation design.
8950
8951 2005-10-02  Andy Wingo  <wingo@pobox.com>
8952
8953         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8954         It is volatile, after all.
8955
8956         * docs/design/part-gstghostpad.txt: Flesh out activation with
8957         ghost pads.
8958
8959         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8960         GST_DEBUG_FUNCPTR.
8961
8962 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8963
8964         * configure.ac:
8965           Fix (unused) AM_CONDITIONAL tests.
8966
8967 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8968
8969         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8970
8971         * gst/gstutils.c: (gst_pad_query_convert):
8972           Add assertion that makes sure src_val is >=0, just like
8973           gst_query_new_convert() has. (#315895)
8974
8975 2005-09-30  Edward Hervey  <edward@fluendo.com>
8976
8977         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8978         Let's not iterate pads we're not interested in, it avoids getting 
8979         sky-high refcounts on sinkpad.
8980
8981 2005-09-30  Wim Taymans  <wim@fluendo.com>
8982
8983         * gst/gstelement.c: (gst_element_set_state),
8984         (gst_element_change_state):
8985         Small tweak, element in ASYNC remains ASYNC.
8986
8987 2005-09-30  Wim Taymans  <wim@fluendo.com>
8988
8989         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8990         Only error is an error.
8991
8992         * gst/gstbin.c: (gst_bin_change_state):
8993         Better debugging.
8994
8995         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8996         Also call pad_block in pad alloc.
8997
8998         * gst/gstutils.c: (gst_flow_get_name):
8999         Better debugging.
9000
9001 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9002
9003         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9004         (gst_base_src_get_range):
9005           Fix documentation typos. Add some more debug info.
9006
9007 2005-09-29  David Schleef  <ds@schleef.org>
9008
9009         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9010           more end-user friendly.
9011         * tools/gst-inspect.c: (main): Check if command-line argument is
9012           a file and attempt to load that file as a plugin.
9013
9014 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9015
9016         * check/gst/gstbin.c:
9017         * check/states/sinks.c:
9018           fix tests for the new warning
9019         * check/gst/gstpipeline.c:
9020           add a test for pipeline and bus interaction
9021         * gst/gstelement.c:
9022           elements should be NULL if they get disposed; add a warning if not
9023
9024 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9025
9026         * gst/gstobject.c:
9027           for 2.6 refcounting, make debug log more correct by printing
9028           the actual refcounts at the time of swap (Wim)
9029
9030 2005-09-29  Andy Wingo  <wingo@pobox.com>
9031
9032         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9033         removes signal watches previously added via
9034         gst_bus_add_signal_watch.
9035         (gst_bus_add_signal_watch): Don't return the source id, just store
9036         it on the bus if there wasn't an id already.
9037
9038         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9039         add_signal_watch and remove_signal_watch.
9040
9041 2005-09-29  Edward Hervey  <edward@fluendo.com>
9042
9043         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9044         Better if we actually iterate the list :)
9045
9046 2005-09-29  Wim Taymans  <wim@fluendo.com>
9047
9048         * check/gst/gstbin.c: (GST_START_TEST):
9049         Change for new bus API.
9050
9051         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9052         (send_messages), (GST_START_TEST), (gstbus_suite):
9053         Change for new bus signal API.
9054
9055         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9056         (gst_bus_source_prepare), (gst_bus_source_check),
9057         (gst_bus_create_watch), (gst_bus_add_watch_full),
9058         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9059         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9060         * gst/gstbus.h:
9061         Remove support for multiple GSources operating on different
9062         message types as it is too complex and unneeded when using
9063         signals.
9064         Added support for receiving signals from the bus.
9065
9066 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9067
9068         * docs/libs/tmpl/gstdataprotocol.sgml:
9069         * docs/manual/advanced-dataaccess.xml:
9070         * gst/elements/gstcapsfilter.c:
9071         * gst/gstutils.c:
9072           rename filter-caps to caps property
9073
9074 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9075
9076         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9077           More robust fraction string parsing.
9078
9079         * docs/pwg/appendix-porting.xml:
9080           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9081
9082 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9083
9084         * gst/gstcaps.c: (gst_caps_do_simplify):
9085           Thou shalt not free a structure and then continue using it
9086           in the next loop iteration.
9087
9088         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9089         (gst_caps_suite):
9090           Add test case for caps simplification.
9091
9092 2005-09-29  Wim Taymans  <wim@fluendo.com>
9093
9094         * check/gst/gstbin.c: (GST_START_TEST):
9095         Oops.
9096
9097 2005-09-29  Wim Taymans  <wim@fluendo.com>
9098
9099         * check/gst/gstbin.c: (GST_START_TEST):
9100         Add bus to bin.
9101
9102         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9103         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9104         (find_element), (gst_bin_sort_iterator_next),
9105         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9106         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9107         (gst_bin_change_state), (gst_bin_dispose):
9108         A bin does not have a bus, it gets the bus from the parent.
9109
9110         * gst/gstelement.c: (gst_element_requires_clock),
9111         (gst_element_provides_clock), (gst_element_is_indexable),
9112         (gst_element_is_locked_state), (gst_element_change_state),
9113         (gst_element_set_bus_func):
9114         Small cleanups.
9115
9116         * gst/gstpipeline.c: (gst_pipeline_class_init),
9117         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9118         The pipeline provides a bus.
9119
9120 2005-09-28  Johan Dahlin  <johan@gnome.org>
9121
9122         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9123         gst_structure_get_enum instead of gst_structure_get_int
9124
9125         * gst/gststructure.c (gst_structure_get_enum): Impl.
9126
9127         * gst/gststructure.h (gst_structure_get_enum): Add
9128
9129         * docs/gst/gstreamer-sections.txt: Ditto
9130
9131         * gst/gstmessage.c (gst_message_new_state_changed): Use
9132         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9133         which does introspection.
9134         Reviewed by Christian Schaller
9135
9136 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9137
9138         * gst/gstinfo.c: (gst_debug_log_default):
9139           don't do dummy g_strdup()s
9140         * libs/gst/controller/gstcontroller.c:
9141         (on_object_controlled_property_changed),
9142         (gst_controlled_property_new), (gst_controller_new_valist),
9143         (gst_controller_new_list),
9144         (gst_controller_remove_properties_valist), (gst_controller_set),
9145         (gst_controller_get), (gst_controller_sync_values),
9146         (gst_controller_get_value_array), (_gst_controller_class_init),
9147         (gst_controller_get_type):
9148         * libs/gst/controller/gstcontroller.h:
9149         * libs/gst/controller/gstinterpolation.c:
9150         (gst_controlled_property_find_timed_value_node):
9151           convert // to /**/ comments
9152
9153 2005-09-28  Wim Taymans  <wim@fluendo.com>
9154
9155         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9156         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9157         (gst_bus_sync_signal_handler):
9158         * gst/gstbus.h:
9159         Added async-message and sync-message signals to the bus.
9160         Added helper BusFunc to emit signals for all posted messages.
9161
9162         * gst/gstmessage.c: (gst_message_type_get_name),
9163         (gst_message_type_to_quark), (gst_message_get_type):
9164         * gst/gstmessage.h:
9165         Register quarks for message names.
9166
9167 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9168
9169         * docs/libs/gstreamer-libs-sections.txt:
9170         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9171         (gst_controller_new_list):
9172         * libs/gst/controller/gstcontroller.h:
9173           added another constructor for language bindings
9174
9175 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9176
9177         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9178           add another check
9179         * gst/gstbus.c:
9180           add some doc
9181         * gst/gstinfo.c: (_gst_debug_init):
9182           slightly more readable color for refcount debugging
9183
9184 2005-09-28  Wim Taymans  <wim@fluendo.com>
9185
9186         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9187         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9188         (find_element), (gst_bin_sort_iterator_next),
9189         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9190         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9191         (gst_bin_change_state), (gst_bin_dispose):
9192         Small doc fixes. get_clock -> provide_clock.
9193
9194         * gst/gstelement.c: (gst_element_class_init),
9195         (gst_element_provides_clock), (gst_element_provide_clock),
9196         (gst_element_get_clock), (gst_element_commit_state),
9197         (gst_element_lost_state):
9198         * gst/gstelement.h:
9199         Make get/set_clock() symetric. Add provide_clock vmethod since
9200         that is actually what this function does.
9201
9202         * gst/gstpipeline.c: (gst_pipeline_class_init),
9203         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9204         (gst_pipeline_get_clock):
9205         get_clock -> provide_clock.
9206
9207 2005-09-28  Andy Wingo  <wingo@pobox.com>
9208
9209         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9210         lieu of real docs...
9211
9212         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9213
9214 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9215
9216         * gst/elements/gstcapsfilter.c:
9217         * gst/elements/gstfakesink.c:
9218         * gst/elements/gstfakesrc.c:
9219         * gst/elements/gstfdsink.c:
9220         * gst/elements/gstfdsrc.c:
9221         * gst/elements/gstfilesink.c:
9222         * gst/elements/gstfilesrc.c:
9223         * gst/elements/gstidentity.c:
9224         * gst/elements/gsttee.c:
9225         * gst/elements/gsttypefindelement.c:
9226           Make element details static.
9227
9228 2005-09-28  Wim Taymans  <wim@fluendo.com>
9229
9230         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9231         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9232         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9233         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9234         (gst_bin_change_state), (gst_bin_dispose):
9235         Some documentation updates.
9236         Clean up dispose handlers.
9237
9238         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9239         * gst/gstpad.c: (gst_pad_dispose):
9240         Clean up dispose handler.
9241
9242         * gst/gstpipeline.c: (gst_pipeline_change_state):
9243         Removed spurious UNLOCK.
9244
9245 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9246
9247         * docs/gst/gstreamer-sections.txt:
9248         * gst/base/gstbasesrc.h:
9249         * gst/gstelement.h:
9250         * gst/gstevent.h:
9251         * gst/gstobject.h:
9252         * gst/gstpad.h:
9253         * gst/gstpipeline.c:
9254         * gst/gstpipeline.h:
9255         * gst/gstutils.h:
9256         * gst/gstxml.h:
9257           added two new functions to the docs
9258                 documents all undocumented GstXXXFlags
9259                 completed some incomplete docs 
9260
9261 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9262
9263         * gst/gstbin.c: (gst_bin_dispose):
9264         * gst/gstelement.c: (gst_element_dispose):
9265           remove now useless and leaky resurrection code in dispose
9266         * gst/base/gstbasesrc.c: (gst_base_src_init):
9267         * gst/gstelementfactory.c: (gst_element_factory_create):
9268         * gst/gstobject.c: (gst_object_set_parent):
9269           add some debugging
9270
9271 2005-09-27  Wim Taymans  <wim@fluendo.com>
9272
9273         * docs/design/part-TODO.txt:
9274         Update TODO.
9275
9276         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9277         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9278         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9279         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9280         (gst_bin_change_state):
9281         * gst/gstelement.h:
9282         Remove element variable, we keep element info in the iterator now.
9283
9284 2005-09-27  Andy Wingo  <wingo@pobox.com>
9285
9286         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9287         values.
9288
9289 2005-09-27  Wim Taymans  <wim@fluendo.com>
9290
9291         * check/gst/gstbin.c: (GST_START_TEST):
9292         Enable check that works now.
9293
9294         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9295         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9296         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9297         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9298         (gst_bin_change_state):
9299         * gst/gstbin.h:
9300         Redid the state change algorithm using a topological sort algo.
9301         Handles all cases correctly.
9302         Exposed iterator for state change order.
9303
9304         * gst/gstelement.h:
9305         Temp storage for state changes. Need to get rid of this soon.
9306
9307 2005-09-27  Wim Taymans  <wim@fluendo.com>
9308
9309         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9310         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9311         (link_fold_func), (gst_pad_proxy_setcaps):
9312         Leak fixes, the fold functions need to unref the passed object and
9313         _get_parent_*() returns ref to parent.
9314
9315 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9316
9317         * check/gst/gstbuffer.c: (test_make_writable):
9318           Plug leak in test case and fix 'make check-valgrind'
9319
9320 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9321
9322         * gst/gstbuffer.c: (gst_subbuffer_init):
9323           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9324           works correctly in all circumstances (we could have just copied
9325           the parent buffer's readonly flag, but conceptually it seems
9326           cleaner to mark all subbuffers as read-only). (based on patch
9327           by Alessandro Decina, #314710).
9328         
9329         * check/gst/gstbuffer.c: (create_read_only_buffer),
9330         (test_make_writable), (test_subbuffer_make_writable),
9331         (gst_test_suite):
9332           Add some tests for gst_buffer_make_writable().
9333
9334 2005-09-27  Wim Taymans  <wim@fluendo.com>
9335
9336         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9337         use gst_object_has_ancestor().
9338
9339         * gst/gstobject.c: (gst_object_has_ancestor):
9340         * gst/gstobject.h:
9341         gst_object_has_ancestor() copied from gstbin.c as it is a
9342         usefull function.
9343
9344         * tests/instantiate/create.c: (create_all_elements):
9345         * tests/lat.c: (handoff_src), (handoff_sink):
9346         * tests/sched/runxml.c: (main):
9347         * tests/seeking/seeking1.c: (main):
9348         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9349         (main):
9350         Fix compilation of some tests.
9351
9352 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9353
9354         * gst/gsterror.h:
9355           Remove comment. GST_TYPE_G_ERROR is here to stay,
9356           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9357           (#316961, #300610).
9358
9359 2005-09-26  Wim Taymans  <wim@fluendo.com>
9360
9361         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9362         Added check that shows error in state change order.
9363
9364 2005-09-26  Wim Taymans  <wim@fluendo.com>
9365
9366         * gst/gstbin.c: (gst_bin_change_state):
9367         Make state change function use 3 queues again, we were
9368         adding elements in the wrong order.
9369
9370         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9371         Some debug info,
9372
9373         * gst/gstpad.c: (gst_pad_dispose):
9374         Added some debug info first.
9375
9376 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9377
9378         * docs/design/draft-push-pull.txt:
9379         * docs/design/part-events.txt:
9380         * docs/design/part-overview.txt:
9381         * docs/design/part-scheduling.txt:
9382           Replace all _pull_region() with _pull_range()
9383           
9384 2005-09-26  Andy Wingo  <wingo@pobox.com>
9385
9386         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9387
9388         * check/gst-libs/controller.c: Update for controller api change.
9389
9390         * configure.ac: 
9391         * tests/Makefile.am:
9392         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9393         over by GLib bug 118439.
9394         
9395         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9396         routines to a function.
9397
9398         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9399
9400         * libs/gst/controller/gsthelper.c:
9401         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9402         (gst_object_sync_values): Renamed from sink_values. Ugh.
9403
9404         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9405
9406         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9407         Renamed from controller_key, as it is exported.
9408
9409         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9410
9411 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9412
9413         * gst/Makefile.am:
9414         * gst/gst.h:
9415         * gst/gstpad.h:
9416         * gst/gstpadtemplate.h:
9417         * gst/gstquery.c:
9418         * gst/gstquery.h:
9419         * gst/gstqueryutils.c:
9420         * gst/gstqueryutils.h:
9421           remove queryutils headers after moving the two used functions
9422           to gstquery.  also fixes build problem for gstsiddec
9423
9424 2005-09-26  Michael Smith <msmith@fluendo.com>
9425
9426         * tools/gst-launch.1.in:
9427         Correct documentation in manpage of debug syntax
9428
9429 2005-09-26  Wim Taymans  <wim@fluendo.com>
9430
9431         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9432         (gst_base_src_is_seekable), (gst_base_src_change_state):
9433         Some more debugging info.
9434
9435 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9436
9437         * docs/gst/gstreamer-sections.txt:
9438         * gst/base/gstbasetransform.h:
9439         * gst/gstindex.h:
9440           added more docs
9441
9442 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9443
9444         * docs/gst/.cvsignore:
9445         * docs/gst/tmpl/.cvsignore:
9446         * docs/gst/tmpl/gstpipeline.sgml:
9447         * docs/gst/tmpl/gstplugin.sgml:
9448         * gst/gstpipeline.c:
9449         * gst/gstplugin.c:
9450         * gst/gstplugin.h:
9451           inlined the last two docs files
9452           removed the tmpl directory from cvs (no more conflicts here!)
9453
9454 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9455
9456         * docs/gst/gstreamer-sections.txt:
9457         * docs/gst/tmpl/.cvsignore:
9458         * docs/gst/tmpl/gstpad.sgml:
9459         * docs/gst/tmpl/gstpadtemplate.sgml:
9460         * gst/Makefile.am:
9461         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9462         (gst_pad_finalize), (gst_pad_set_pad_template):
9463         * gst/gstpad.h:
9464         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9465         (gst_pad_template_class_init), (gst_pad_template_init),
9466         (gst_pad_template_dispose), (name_is_valid),
9467         (gst_static_pad_template_get), (gst_pad_template_new),
9468         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9469         (gst_pad_template_pad_created):
9470         * gst/gstpadtemplate.h:
9471           inlined two more docs
9472           factored gstpadtemplate out of gstpad
9473
9474 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9475
9476         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9477         (test_children_state_change_order_semi_sink):
9478           Fix test case: we can't rely on a fixed state change order when
9479           going from READY => PAUSED because the sink might commit its 
9480           new state first when the first buffer created by the source 
9481           reaches the sink before the source has finished its change state.
9482           (Test case still fails at times, see #316856, comment 5 onwards)
9483
9484 2005-09-24  Wim Taymans  <wim@fluendo.com>
9485
9486         * docs/design/part-events.txt:
9487         * docs/design/part-gstbus.txt:
9488         * docs/design/part-gstpipeline.txt:
9489         * docs/design/part-messages.txt:
9490         * docs/design/part-overview.txt:
9491         * docs/design/part-segments.txt:
9492         * gst/gstbin.c:
9493         * gst/gstbuffer.c:
9494         * gst/gstclock.c:
9495         * gst/gstelement.c:
9496         * gst/gstevent.c:
9497         * gst/gstfilter.c:
9498         * gst/gstiterator.c:
9499         Various documentation updates.
9500
9501 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * gst/gstclock.h:
9504           Well, that's embarassing.  Luckily we weren't using
9505           GST_CLOCK_DIFF anywhere.
9506
9507 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9508
9509         * common/gtk-doc.mak:
9510           don't fail on building XML, FC4 slave shows a bunch of doc
9511           missing bits that I don't get
9512         * gst/gstpad.c:
9513         * gst/gstpipeline.c:
9514         * gst/gststructure.c:
9515           some doc updates
9516
9517 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9518
9519         * docs/design/part-gstbin.txt:
9520         * docs/design/part-gstbus.txt:
9521         * gst/gstbus.c:
9522           Add blurb about how the bus goes into flushing mode and
9523           drops all messages when its bin goes from READY into NULL 
9524           state.
9525
9526 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9527
9528         * docs/gst/gstreamer-sections.txt:
9529         * gst/gststructure.c: (gst_structure_get_clock_time):
9530         * gst/gststructure.h:
9531           add a method to get a GstClockTime out of a structure
9532
9533 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9534
9535         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9536         (test_children_state_change_order_semi_sink), (gst_bin_suite):
9537           Added test to check state change order in bins (can still be made
9538           to fail here under heavy disk load; bails out with 'Push on pad
9539           fakesink:sink0, but it was not activated in push mode').
9540
9541         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
9542           Fix state change order when there is only a semi sink (#316856)
9543
9544         * gst/gstbus.c: (gst_bus_class_init):
9545           Use _class_peek_parent(), not _class_ref(); fix docs to say
9546           'default main context' instead of 'mainloop' where that is
9547           what's meant.
9548
9549         * gst/gstelement.c: (gst_element_commit_state),
9550         (gst_element_set_state):
9551           Fix typos in debug messages
9552
9553 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9554
9555         * docs/README:
9556         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
9557         * gst/gstpluginfeature.c:
9558         * gst/gstutils.c:
9559           various doc updates
9560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9561           change an assert into an error until it gets fixed properly
9562
9563 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
9564
9565         * docs/gst/gstreamer-sections.txt:
9566         * docs/gst/tmpl/.cvsignore:
9567         * docs/gst/tmpl/gstelement.sgml:
9568         * docs/gst/tmpl/gstinfo.sgml:
9569         * docs/gst/tmpl/gstobject.sgml:
9570         * gst/gstelement.c:
9571         * gst/gstelement.h:
9572         * gst/gstinfo.c:
9573         * gst/gstinfo.h:
9574         * gst/gstobject.c: (gst_object_class_init):
9575         * gst/gstobject.h:
9576           inlined 3 more biiiig doc files and added some missing docs on the fly
9577
9578 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9579
9580         * check/gst/.cvsignore:
9581         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
9582         * gst/gstregistryxml.c: (load_plugin),
9583         (gst_registry_xml_save_plugin):
9584           put back source in registry.  add checks for find_plugin.
9585         * testsuite/states/bin.c: (assert_state), (empty_bin),
9586         (test_adding_one_element), (main):
9587         * testsuite/states/locked.c: (main):
9588           some compile/run fixes
9589
9590 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9591
9592         * check/gst/gstvalue.c: (GST_START_TEST):
9593           fix leaks in the test itself
9594
9595 2005-09-22  Wim Taymans  <wim@fluendo.com>
9596
9597         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9598         (gst_base_sink_send_event), (gst_base_sink_peer_query),
9599         (gst_base_sink_query):
9600         Prepare for more accurate position reporting and query
9601         handling.
9602
9603         * gst/gstelement.c: (gst_element_send_event),
9604         (gst_element_set_state):
9605         Add some comment.
9606
9607 2005-09-22  Wim Taymans  <wim@fluendo.com>
9608
9609         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
9610         (gst_query_parse_segment):
9611         * gst/gstquery.h:
9612         More documentation.
9613         Add segment query for future use.
9614
9615 2005-09-22  Wim Taymans  <wim@fluendo.com>
9616
9617         * gst/gstbin.c: (gst_bin_add_func):
9618         Some more debug info.
9619
9620         * gst/gstelement.c: (gst_element_send_event):
9621         Simplify send_event
9622
9623         * gst/gstelement.h:
9624         Don't know how flags got broken.
9625
9626         * gst/gstquery.h:
9627         Added new query.
9628
9629 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9630
9631         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
9632           Add simplistic test suite for GST_TYPE_DATE serialisation and
9633           deserialisation.
9634
9635 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9636
9637         * docs/gst/gstreamer-sections.txt:
9638         * gst/gststructure.c: (gst_structure_set_valist),
9639         (gst_structure_get_date):
9640         * gst/gststructure.h:
9641         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
9642         (gst_date_copy), (gst_value_compare_date),
9643         (gst_value_serialize_date), (gst_value_deserialize_date),
9644         (gst_value_transform_date_string),
9645         (gst_value_transform_string_date), (_gst_value_initialize):
9646         * gst/gstvalue.h:
9647           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
9648           bunch of utility functions along with a hack that checks that
9649           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
9650           is required. Part of the grand scheme in #170777.
9651
9652 2005-09-22  Andy Wingo  <wingo@pobox.com>
9653
9654         * gst/gstconfig.h.in: Psych out gtk-doc.
9655
9656         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
9657
9658         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
9659
9660         * tools/gst-inspect.c (print_element_list): Plug some
9661         inconsequential leaks.
9662
9663         * gst/gstregistry.c (gst_registry_get_default): Doc.
9664
9665         * check/gst/gstplugin.c: 
9666         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
9667         * gst/gstelementfactory.c (gst_element_factory_create): 
9668         * gst/gstindexfactory.c (gst_index_factory_create): Update for
9669         refcount changes.
9670
9671         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
9672         (gst_plugin_feature_load): Doc, don't eat refs.
9673
9674         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
9675         (gst_plugin_list_free): Doc.
9676         (gst_plugin_load_file): Doc updates.
9677
9678         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
9679         accessors returning refcounted objects, return a ref.
9680
9681         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
9682         accessor for caps. IDEMPOTENCE. Oh yes.
9683
9684 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
9685
9686         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9687
9688         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9689         (_gst_debug_register_funcptr):
9690           Add mutex to serialise access to the hash table with
9691           the function pointer => function name string mapping;
9692           make that hash table static scope (#316809).
9693
9694         * gst/registries/.cvsignore:
9695           Remove left-over file.
9696
9697 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9698
9699         * docs/pwg/appendix-porting.xml:
9700           And something about newsegment events and caps-on-buffers to
9701           the porting guide (feel free to improve).
9702
9703 2005-09-21  Andy Wingo  <wingo@pobox.com>
9704
9705         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
9706         data and event probes on the same pad.
9707         (test_buffer_probe_once): Test that removing probes from within
9708         the probe functions works.
9709
9710 2005-09-21  Andy Wingo  <wingo@pobox.com>
9711
9712         * check/gst/gstutils.c: New file.
9713         (test_buffer_probe_n_times): A simple buffer probe test. More to
9714         come, foolios.
9715
9716         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
9717         have-data::buffer, not have-data.
9718         (gst_pad_add_event_probe): Likewise for have-data::event.
9719         (gst_pad_add_data_probe): More docs. The part about 'resolving the
9720         peer' isn't quite right yet though.
9721         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
9722         (gst_pad_remove_data_probe): Change to take the guint handler_id
9723         as their arg, not the function+data, which is more glib-like.
9724
9725         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9726         the signal emission to indicate if the data is a buffer or an
9727         event.
9728         (gst_pad_get_type): Initialize buffer and event quarks.
9729         (gst_pad_class_init): have-data is now a detailed signal, yes it
9730         is.
9731
9732 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9733
9734         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9735         * gst/gstutils.c: (gst_util_set_value_from_string),
9736         (gst_util_set_object_arg):
9737           Don't put functional code in g_return_if_fail() or
9738           g_return_val_if_fail() statements, otherwise things will 
9739           break when G_DISABLE_CHECKS is defined during compilation.
9740
9741 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9742
9743         * docs/gst/tmpl/.cvsignore:
9744         * docs/gst/tmpl/gstvalue.sgml:
9745         * gst/gstvalue.c:
9746         * gst/gstvalue.h:
9747           inlied another one and added  some obvious docs
9748
9749 2005-09-21  Wim Taymans  <wim@fluendo.com>
9750
9751         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9752         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9753         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9754         (gst_fdsrc_get_property), (gst_fdsrc_create):
9755         * gst/elements/gstfdsrc.h:
9756         Properly implement fdsrc. Removed signal and timeout,
9757         better implemented somewhere else.
9758
9759 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9760
9761         * docs/gst/tmpl/.cvsignore:
9762         * docs/gst/tmpl/gstimplementsinterface.sgml:
9763         * gst/gstinterface.c:
9764           inlined more docs
9765
9766 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9767
9768         * docs/gst/gstreamer-sections.txt:
9769         * docs/gst/tmpl/.cvsignore:
9770         * docs/gst/tmpl/gstenumtypes.sgml:
9771           remove obsolete doc file
9772
9773 2005-09-21  David Schleef  <ds@schleef.org>
9774
9775         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9776         little beer, fix a little leak.
9777
9778 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9779
9780         * docs/gst/gstreamer-docs.sgml:
9781         * docs/gst/gstreamer-sections.txt:
9782         * docs/gst/tmpl/.cvsignore:
9783         * gst/Makefile.am:
9784         * gst/gst.h:
9785         * gst/gstbin.c:
9786         * gst/gstelement.h:
9787         * gst/gstindex.c: (gst_index_class_init):
9788         * gst/gstindex.h:
9789         * gst/gstindexfactory.c: (gst_index_factory_get_type),
9790         (gst_index_factory_class_init), (gst_index_factory_init),
9791         (gst_index_factory_finalize), (gst_index_factory_new),
9792         (gst_index_factory_destroy), (gst_index_factory_find),
9793         (gst_index_factory_create), (gst_index_factory_make):
9794         * gst/gstindexfactory.h:
9795         * gst/gstpluginfeature.c:
9796         * gst/gstpluginfeature.h:
9797         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9798           more docs inlined, splitted gstindex.{c,h}
9799
9800 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9803           fix a leak
9804
9805 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9806
9807         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9808           Set sync to FALSE by default.
9809
9810 2005-09-20  Wim Taymans  <wim@fluendo.com>
9811
9812         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9813         (gst_base_sink_init):
9814         Make sync property settable from subclass.
9815
9816         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9817         (gst_fake_sink_change_state):
9818         Set sync to FALSE by default.
9819
9820 2005-09-20  Wim Taymans  <wim@fluendo.com>
9821
9822         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9823         * tools/gst-launch.c: (main):
9824         The timeout handler should have lower priority than the source
9825         so we don't timeout before popping a message with 0 timeout.
9826         Dump error messages after failed state change.
9827
9828 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9829
9830         * tools/gst-inspect.c: (print_element_properties_info):
9831           Fix two typos.
9832
9833 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * check/gst/gstevent.c:
9836         * gst/elements/gstfakesink.c:
9837         * gst/elements/gstfakesink.h:
9838           remove the sync property from fakesink.
9839           has the side effect of setting sync TRUE
9840           for fakesink, which is a change.  Anyone who knows how
9841           to fix this nicely in a GObject-y way, feel free.
9842
9843 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9844
9845         * docs/gst/gstreamer-docs.sgml:
9846           remove probe refsection
9847
9848 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9849
9850         * check/Makefile.am:
9851           disable valgrinding the controller test again
9852         * docs/gst/gstreamer-sections.txt:
9853           update for api-changes
9854
9855 2005-09-20  Wim Taymans  <wim@fluendo.com>
9856
9857         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9858         (gst_base_sink_set_property), (gst_base_sink_get_property),
9859         (gst_base_sink_do_sync):
9860         * gst/base/gstbasesink.h:
9861         Added sync property to basesink to disable clock sync.
9862
9863 2005-09-20  Andy Wingo  <wingo@pobox.com>
9864
9865         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9866         eating the caller's refcount.
9867
9868         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9869         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9870         refcount.
9871
9872         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9873         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9874         of GLib 2.8 public, so we can know which refcount to check in
9875         tests.
9876
9877         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9878         (gst_object_init): Only set the gst refcount if we're going ahead
9879         with the refcount hack.
9880
9881 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9882
9883         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9884         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9885           more leaks plumbed, added more debug-logging
9886         * gst/gstmacros.h:
9887           whitespace fix
9888
9889 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9890
9891         * gst/gstmessage.c:
9892           remove include of gstmemchunk.h
9893
9894 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9895
9896         * gst/gstclock.c: (_gst_clock_id_free):
9897           Commit from the Political Party For More Atomic CVS Commits,
9898           so that people don't waste too much of their day fishing
9899           out obvious leaks out of massive commits.
9900           Oh, and fix a pretty damn obvious leak in the memchunk
9901           removal code.
9902
9903 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9904
9905         * check/Makefile.am:
9906         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9907           plug mem-leak, re-add to valgrindable tests
9908
9909 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * gst/gstplugin.h:
9912           unbreak the build for those who have chronic arthritis
9913           and typing "make check" is just too taxing on the hands
9914
9915 2005-09-20  Andy Wingo  <wingo@pobox.com>
9916
9917         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9918         really want it out, you should fix plugins at the same time.
9919
9920 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9921
9922         * configure.ac:
9923         * docs/gst/gstreamer-sections.txt:
9924         * gst/gstobject.c:
9925           added missing symbols to api docs
9926           disable ref-count hack if we have glib >= 2.8
9927
9928 2005-09-19  David Schleef  <ds@schleef.org>
9929
9930         * docs/gst/Makefile.am: Ignore a few more internal headers
9931         * docs/gst/gstreamer-docs.sgml: Remove old sections
9932         * docs/gst/gstreamer-sections.txt: Remove old sections
9933         * docs/gst/tmpl/gstobject.sgml: update
9934         * docs/gst/tmpl/gstplugin.sgml: update
9935         * docs/gst/tmpl/gstpluginfeature.sgml: update
9936         * docs/random/ds/0.9-suggested-changes: update.
9937         * gst/Makefile.am: remove memchunk and trashstack, since they're
9938           not used.
9939         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9940         * gst/gst.h: don't include some headers
9941         * gst/gstchildproxy.c: add gstmarshal.h
9942         * gst/gstclock.c: Don't use memchunks
9943         * gst/gstminiobject.c: Add some docs
9944         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9945         * gst/gstobject.h: same
9946         * gst/gstplugin.c: include gstmacros.h
9947         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9948         * gst/gstquery.c: don't use memchunks
9949         * gst/gstregistry.c: rename gst_registry_deinit()
9950         * gst/gstregistry.h: same
9951
9952 2005-09-19  David Schleef  <ds@schleef.org>
9953
9954         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9955         * docs/libs/gstreamer-libs-sections.txt:
9956         * docs/libs/tmpl/gstgetbits.sgml:
9957         * docs/libs/tmpl/gstputbits.sgml:
9958
9959 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9960
9961         * win32/gstenumtypes.c:
9962         * win32/gstenumtypes.h:
9963           Update.
9964
9965 2005-09-19  Wim Taymans  <wim@fluendo.com>
9966
9967         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9968         Automatically PAUSE and RESUME a pipeline when a flushing seek
9969         is performed.
9970
9971 2005-09-19  Andy Wingo  <wingo@pobox.com>
9972
9973         * gst/gstregistry.h: Spacing fixen.
9974
9975 2005-09-19  Wim Taymans  <wim@fluendo.com>
9976
9977         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9978         Handle state change failure more correctly.
9979
9980 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9981
9982         * check/Makefile.am:
9983         * check/pipelines/cleanup.c: (run_pipeline):
9984         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9985         (GST_START_TEST):
9986           enable cleanup again after fixing the leak
9987         * docs/README:
9988           some more info on docs
9989
9990 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9991
9992         * check/Makefile.am:
9993           re-enable tests now that leaks are plugged
9994         * check/gst/gst.c:
9995         * check/gst/gstbin.c:
9996         * check/gst/gstpipeline.c:
9997           add some more tests while fixing leaks
9998         * common/check.mak:
9999           make sure binaries are uptodate when valgrinding/gdbing
10000         * gst/gst.c:
10001         * gst/gstelementfactory.c:
10002           remove a ref too many, and add a FIXME for when we get
10003           round to disposing of classes
10004         * gst/gstplugin.c:
10005           fix the refcounting when loading a plugin from a file and
10006           the code pretends that the pointer is the same even though
10007           of course it can change
10008         * gst/gstpluginfeature.c:
10009           unref plugins marked cached (a bit confusing as a name)
10010           as the docs state should be done
10011           various doc additions to explain refcounting
10012         * gst/gstregistry.c:
10013         * gst/gstregistryxml.c:
10014           debugging
10015
10016 2005-09-19  Wim Taymans  <wim@fluendo.com>
10017
10018         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10019         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10020         (send_messages), (GST_START_TEST), (gstbus_suite):
10021         * check/gst/gstpipeline.c: (GST_START_TEST):
10022         * check/pipelines/cleanup.c: (run_pipeline):
10023         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10024         (GST_START_TEST):
10025         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10026         (gst_bus_source_check), (gst_bus_source_dispatch),
10027         (gst_bus_create_watch), (gst_bus_add_watch_full),
10028         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10029         * gst/gstbus.h:
10030         * tools/gst-launch.c: (event_loop):
10031         * tools/gst-md5sum.c: (event_loop):
10032         GstBusHandler -> GstBusFunc, return value has the same meaning as
10033         any other GSource (FALSE == remove source).
10034         _add_watch() and _add_watch_full() now take a MessageType mask to
10035         only handle specific types of messages.
10036         _poll() returns the GstMessage instead of the message type to avoid
10037         race conditions.
10038         _have_pending() takes a MessageType mask now too.
10039         Added testsuite for multiple bus watches.
10040         Fix testsuites and applications for new bus API.
10041
10042 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10043
10044         * check/Makefile.am:
10045           mark a bunch of the tests as to fix until we fix them
10046
10047 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10048
10049         * common/check.mak:
10050           use GST_PLUGIN settings for valgrind tests as well, so we're
10051           valgrinding the correct thing
10052         * gst/gst.c: (init_post):
10053           plug another leak
10054
10055 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10056
10057         * gst/gst.c: (init_post), (gst_deinit):
10058         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10059         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10060         * gst/gstindex.c: (gst_index_factory_class_init),
10061         (gst_index_factory_finalize):
10062         * gst/gstobject.c: (gst_object_dispose):
10063         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10064         (gst_plugin_load_file), (gst_plugin_desc_free):
10065         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10066         (gst_plugin_feature_finalize):
10067         * gst/gstregistry.c: (gst_registry_class_init),
10068         (gst_registry_init), (gst_registry_finalize),
10069         (gst_registry_get_default), (gst_registry_deinit):
10070         * gst/gstregistry.h:
10071         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10072           various cleanups and memleak plugging.  make valgrind is happy now.
10073
10074 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * common/check.mak:
10077           add a check-valgrind target
10078
10079 2005-09-18  David Schleef  <ds@schleef.org>
10080
10081         * tools/gst-inspect.c: Revert the GOption code.
10082
10083 2005-09-17  David Schleef  <ds@schleef.org>
10084
10085         * check/Makefile.am: Fix environment variables.
10086         * check/gst/gstplugin.c: Fix for API changes.
10087         * tools/gst-inspect.c: Fix for API changes.
10088         * tools/gst-xmlinspect.c: Fix for API changes.
10089         * gst/gstelementfactory.c:
10090         * gst/gstplugin.c:
10091         * gst/gstplugin.h:
10092         * gst/gstpluginfeature.c:
10093         * gst/gstpluginfeature.h:
10094         * gst/gstregistry.c:
10095         * gst/gstregistry.h:
10096         * gst/gstregistryxml.c:
10097         * gst/gsttypefind.c:
10098         * gst/gsttypefindfactory.c:
10099         * gst/indexers/gstfileindex.c:
10100         * gst/indexers/gstmemindex.c:
10101         * gst/schedulers/Makefile.am:
10102           Change registry to keep track of both plugins and features,
10103           removing the feature tracking from plugins themselves.
10104
10105 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10106
10107         * check/Makefile.am:
10108         * tools/gst-register.1.in:
10109           remove gst-register
10110
10111 2005-09-15  David Schleef  <ds@schleef.org>
10112
10113         * check/gst/gstplugin.c:
10114         * gst/gstelementfactory.c:
10115         * gst/gstplugin.c:
10116         * gst/gstpluginfeature.c:
10117         * gst/gstregistry.c:
10118           Getting tired of debugging.  Disabled all the unreffing of
10119           plugins and features, which fixes the segfaults, but of
10120           course leaks like crazy.  At least playbin works.
10121
10122 2005-09-15  David Schleef  <ds@schleef.org>
10123
10124         * check/gst/gstplugin.c: (register_check_elements),
10125         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10126         More testing
10127         * gst/elements/gsttypefindelement.c: Fix refcounting.
10128         * gst/gsttypefind.c:
10129         * gst/gsttypefindfactory.c:
10130         * gst/gsttypefindfactory.h:
10131
10132 2005-09-15  David Schleef  <ds@schleef.org>
10133
10134         * gst/gstindex.c: get refcounting correct.
10135         * gst/gstregistry.c: Handle the case where a feature/plugin is
10136           not found.
10137
10138 2005-09-15  David Schleef  <ds@schleef.org>
10139
10140         * check/Makefile.am:
10141         * check/gst/gstplugin.c: Add test
10142         * gst/gstplugin.c: Fix problems noticed by testsuite
10143         * gst/gstplugin.h:
10144         * gst/gstregistry.c: 
10145         * gst/gstregistry.h:
10146
10147 2005-09-15  David Schleef  <ds@schleef.org>
10148
10149         * gst/gstplugin.c: Implement semi-decent recounting and locking
10150           in plugins and plugin features.
10151         * gst/gstplugin.h:
10152         * gst/gstpluginfeature.c:
10153         * gst/gstpluginfeature.h:
10154         * gst/gstregistry.c:
10155
10156 2005-09-15  Michael Smith <msmith@fluendo.com>
10157
10158         * gst/gstregistry.c: (gst_registry_get_feature_list):
10159           Implement this. Makes oggdemux work; decodebin still broken.
10160
10161 2005-09-14  David Schleef  <ds@schleef.org>
10162
10163         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10164           #316076)
10165         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10166         * gst/check/Makefile.am:
10167         * libs/gst/controller/Makefile.am:
10168         * libs/gst/dataprotocol/Makefile.am:
10169
10170 2005-09-14  David Schleef  <ds@schleef.org>
10171
10172         * configure.ac: Remove getbits library.  Nothing uses it, and
10173           it should be in something like liboil if someone did want
10174           to use it.
10175         * libs/gst/Makefile.am:
10176         * libs/gst/getbits/Makefile.am:
10177         * libs/gst/getbits/gbtest.c:
10178         * libs/gst/getbits/getbits.c:
10179         * libs/gst/getbits/getbits.h:
10180         * libs/gst/getbits/gstgetbits_generic.c:
10181         * libs/gst/getbits/gstgetbits_i386.s:
10182         * libs/gst/getbits/gstgetbits_inl.h:
10183
10184 2005-09-14  David Schleef  <ds@schleef.org>
10185
10186         * gst/Makefile.am: Dist glib-compat.h
10187
10188 2005-09-14  David Schleef  <ds@schleef.org>
10189
10190         * configure.ac: Remove gst/registries, since it's no longer used.
10191         * gst/registries/Makefile.am:
10192         * gst/registries/gstlibxmlregistry.c:
10193         * gst/registries/gstlibxmlregistry.h:
10194         * gst/registries/gstxmlregistry.c:
10195         * gst/registries/gstxmlregistry.h:
10196         * gst/registries/registrytest.c:
10197
10198 2005-09-14  David Schleef  <ds@schleef.org>
10199
10200         * gst/glib-compat.h:
10201         * gst/gstregistryxml.c:
10202           Convergence is near.  Seriously.
10203
10204 2005-09-14  David Schleef  <ds@schleef.org>
10205
10206         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10207         * gst/glib-compat.h:
10208           Attempt #4 to appease the buildbots.
10209
10210 2005-09-14  David Schleef  <ds@schleef.org>
10211
10212         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10213           Attempt #3.
10214
10215 2005-09-14  David Schleef  <ds@schleef.org>
10216
10217         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10218         Attempt #2.
10219
10220 2005-09-14  David Schleef  <ds@schleef.org>
10221
10222         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10223           the new functions.
10224
10225 2005-09-14  David Schleef  <ds@schleef.org>
10226
10227         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10228         * gst/glib-compat.h: Add some functions that are in newer versions
10229           of glib than we care to require.
10230         * gst/gstregistryxml.c: Use them.
10231
10232 2005-09-14  David Schleef  <ds@schleef.org>
10233
10234         * po/POTFILES.in: remove gst-register.c
10235
10236 2005-09-14  David Schleef  <ds@schleef.org>
10237
10238         * docs/gst/gstreamer-docs.sgml:
10239         * docs/gst/gstreamer-sections.txt:
10240         * docs/gst/gstreamer.types:
10241         * docs/gst/tmpl/gstelement.sgml:
10242         * docs/gst/tmpl/gstplugin.sgml:
10243         * docs/gst/tmpl/gstpluginfeature.sgml:
10244           Documentation updates for registry changes.
10245
10246 2005-09-14  David Schleef  <ds@schleef.org>
10247
10248         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10249           because we don't require glib-2.8.
10250
10251 2005-09-14  David Schleef  <ds@schleef.org>
10252
10253         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10254           registries directory.
10255
10256 2005-09-14  David Schleef  <ds@schleef.org>
10257
10258         * check/Makefile.am:
10259         * check/generic/states.c:
10260         * gst/Makefile.am:
10261         * gst/gst.c:
10262         * gst/gst.h:
10263         * gst/gst_private.h:
10264         * gst/gstelementfactory.c:
10265         * gst/gstindex.c:
10266         * gst/gstinfo.c:
10267         * gst/gstplugin.c:
10268         * gst/gstplugin.h:
10269         * gst/gstpluginfeature.c:
10270         * gst/gstpluginfeature.h:
10271         * gst/gstregistry.c:
10272         * gst/gstregistry.h:
10273         * gst/gstregistrypool.c: remove
10274         * gst/gstregistrypool.h: remove
10275         * gst/gsttypefind.c:
10276         * gst/gsttypefindfactory.c:
10277         * gst/gsturi.c:
10278         * tools/Makefile.am:
10279         * tools/gst-compprep.c:
10280         * tools/gst-inspect.c:
10281         * tools/gst-register.c: remove
10282         * tools/gst-xmlinspect.c:
10283           Registry rewrite.  Changes registry from being a file created
10284           by a tool into a simple cache file created automatically by 
10285           libgstreamer.  Removed gst-register (because it's no longer
10286           needed).  Remove registry pools, because we only have one
10287           registry implementation (XML).  Fix up other subsystems as
10288           necessary.
10289
10290 2005-09-13  Michael Smith <msmith@fluendo.com>
10291
10292         * gst/gstconfig.h.in:
10293           Don't Use windows linking attributes for MinGW. Fixes #316157
10294
10295 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * gst/gstutils.c: (set_state_async_thread_func),
10298         (gst_element_set_state_async):
10299           Apparently people think it's better if this function doesn't
10300           try to set the state to whatever state was asked for on the first
10301           call to this function for any object.  Seriously.
10302
10303 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10304
10305         * check/gst/gstpipeline.c: (GST_START_TEST):
10306         * docs/gst/gstreamer-sections.txt:
10307         * gst/gstutils.c: (set_state_async_thread_func),
10308         (gst_element_set_state_async):
10309         * gst/gstutils.h:
10310           add a "gst_element_set_state_async" method that
10311           sets the state and starts a thread to make sure the state
10312           change completes as best as it can
10313
10314 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10317           codify design+behaviour in testsuite after discussion
10318
10319 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10320
10321         * docs/gst/tmpl/gstelement.sgml:
10322         * docs/manual/appendix-quotes.xml:
10323           add a quote
10324         * gst/gstelement.c: (gst_element_set_state):
10325           add some debug
10326
10327 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10328
10329         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10330         (gst_base_transform_prepare_output_buf),
10331         (gst_base_transform_handle_buffer):
10332         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10333         (gst_capsfilter_prepare_buf):
10334           Remove the requirement for sub-classes to call the parent
10335           implementation of prepare_output_buffer with a wrapper function.
10336           
10337         * gst/gsttaglist.h:
10338         * gst/gsttagsetter.h:
10339           Fix #define wrapper
10340
10341 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10342
10343         * docs/gst/gstreamer-sections.txt:
10344           more doc cleanups
10345
10346 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10347
10348         * docs/gst/gstreamer-sections.txt:
10349         * docs/gst/tmpl/gstelement.sgml:
10350         * docs/gst/tmpl/gstplugin.sgml:
10351         * gst/gstminiobject.c:
10352         * gst/gstvalue.h:
10353           docs now stop throwing warnings
10354
10355 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10356
10357         * docs/gst/gstreamer-sections.txt:
10358         * docs/gst/gstreamer.types:
10359         * docs/gst/tmpl/gstpad.sgml:
10360         * docs/gst/tmpl/gsttypes.sgml:
10361         * gst/base/gstadapter.h:
10362         * gst/base/gstbasesink.h:
10363         * gst/base/gstbasesrc.h:
10364         * gst/gstbin.h:
10365         * gst/gstbuffer.h:
10366         * gst/gstbus.h:
10367         * gst/gstcaps.h:
10368         * gst/gstclock.h:
10369         * gst/gstelement.h:
10370         * gst/gstevent.h:
10371         * gst/gstmessage.h:
10372         * gst/gstpad.h:
10373         * gst/gststructure.c:
10374         * gst/registries/gstlibxmlregistry.h:
10375           various documentation fixes
10376
10377 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10378
10379         * docs/gst/gstreamer-sections.txt:
10380         * docs/gst/tmpl/gstvalue.sgml:
10381           rearrange gstvalue section
10382         * gst/gstutils.c: (gst_element_state_get_name):
10383           NONE -> VOID
10384         * gst/gstvalue.c: (_gst_value_initialize):
10385         * gst/gstvalue.h:
10386           doc updates
10387
10388 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10389
10390         * check/gst-libs/controller.c:
10391           Header include fix.
10392         * gst/base/gstbasetransform.c:
10393         (gst_base_transform_default_prepare_buf),
10394         (gst_base_transform_handle_buffer):
10395         * gst/base/gstbasetransform.h:
10396           Some more basetransform changes and fixes to enable sub-classes
10397           that modify buffer metadata only.
10398         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10399         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10400         (gst_capsfilter_prepare_buf):
10401           If the output pad has fixed allowed caps and input buffers 
10402           don't have any, set the fixed caps on outgoing buffers.
10403
10404 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10405         * check/elements/identity.c: (GST_START_TEST):
10406           Make the error a little clearer when the test fails because
10407           identity made a copy of the buffer.
10408         * docs/gst/gstreamer-sections.txt:
10409           New symbols in gstbasetransform.h
10410         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10411         (gst_base_transform_init), (gst_base_transform_transform_size),
10412         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10413         (gst_base_transform_default_prepare_buf),
10414         (gst_base_transform_get_unit_size),
10415         (gst_base_transform_buffer_alloc),
10416         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10417         (gst_base_transform_change_state),
10418         (gst_base_transform_set_passthrough),
10419         (gst_base_transform_set_in_place),
10420         (gst_base_transform_is_in_place):
10421         * gst/base/gstbasetransform.h:
10422           Change BaseTransform to separate in_place operate from same_caps
10423           output. in_place implies that the element can perform the transform
10424           on incoming buffers in-place, even if the caps on the output are
10425           different.
10426           Sub-class elements can now implement special buffer allocation
10427           methods for outgoing buffers if they wish to.
10428           Big documentation addition.
10429         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10430         * gst/elements/gstelements.c:
10431           Changes for basetransform modifications.
10432         * gst/elements/Makefile.am:
10433         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10434           Compile fix. Extra debug output.
10435
10436 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10439         (gst_pad_suite):
10440           add tests for valid pad naming
10441         * gst/check/gstcheck.c: (gst_check_log_message_func),
10442         (gst_check_log_critical_func):
10443           add ASSERT_WARNING
10444           remove printing of code, it is fragile when the code contains
10445           % and the line number is enough info
10446         * gst/check/gstcheck.h:
10447         * gst/gstpad.c: (gst_pad_template_new):
10448           fix memleaks
10449
10450 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10451
10452         * configure.ac:
10453           say what CHECK flags we use
10454         * docs/libs/gstreamer-libs.types:
10455         * libs/gst/controller/Makefile.am:
10456         * libs/gst/controller/gst-controller.c:
10457         * libs/gst/controller/gst-controller.h:
10458         * libs/gst/controller/gst-helper.c:
10459         * libs/gst/controller/gst-interpolation.c:
10460         * libs/gst/controller/gstcontroller.c:
10461         * libs/gst/controller/gsthelper.c:
10462         * libs/gst/controller/gstinterpolation.c:
10463         * tools/gst-inspect.c: (print_plugin_info):
10464           we don't use dashes in header names
10465
10466 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10467
10468         * check/Makefile.am:
10469         * check/gst/.cvsignore:
10470         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10471         (gst_pipeline_suite), (main):
10472           adding a test for pipelines and state changes
10473         * gst/gstutils.c: (get_state_func):
10474           add some debugging
10475         * gstreamer.spec.in:
10476           fix up spec file
10477
10478 2005-09-08  Michael Smith <msmith@fluendo.com>
10479
10480         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10481         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10482         (gst_file_src_is_seekable), (gst_file_src_get_size),
10483         (gst_file_src_start):
10484         * gst/elements/gstfilesrc.h:
10485           Various fixes for unseekable, unmmapable, and non-normal files, so
10486           that fallback to read() rather than mmap() works.
10487         * gst/gstevent.c: (gst_event_new_newsegment):
10488           Allow newsegment events with segment_start == segment_end, as will
10489           correctly happen if you use filesrc on a zero-size file, for
10490           example.
10491
10492 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10493
10494         * gst/gstplugin.c: (gst_plugin_load_file):
10495           Call g_module_close when we don't load the module
10496
10497         * gst/registries/gstlibxmlregistry.c:
10498         (gst_xml_registry_get_property):
10499           Port leak fix from 0.8
10500
10501 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10502
10503         * docs/gst/gstreamer-docs.sgml:
10504         * docs/gst/tmpl/.cvsignore:
10505         * docs/gst/tmpl/gsttrace.sgml:
10506         * docs/gst/tmpl/gsttrashstack.sgml:
10507         * gst/Makefile.am:
10508         * gst/gst.h:
10509         * gst/gstelement.h:
10510         * gst/gstevent.h:
10511         * gst/gstmessage.c:
10512         * gst/gstmessage.h:
10513         * gst/gsttag.c:
10514         * gst/gsttag.h:
10515         * gst/gsttaginterface.c:
10516         * gst/gsttaginterface.h:
10517         * gst/gsttaglist.c:
10518         * gst/gsttaglist.h:
10519         * gst/gsttagsetter.c:
10520         * gst/gsttagsetter.h:
10521         * gst/gsttrace.c:
10522         * gst/gsttrace.h:
10523         * gst/gsttrashstack.c:
10524           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
10525           inlined docs for gsttrace, gsttrashstack
10526
10527 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10528
10529         * gst/Makefile.am:
10530         * gst/elements/gstbufferstore.h:
10531         * gst/elements/gsttypefindelement.c:
10532         * gst/elements/gsttypefindelement.h:
10533         * gst/gst.h:
10534         * gst/gsttypefind.c:
10535         * gst/gsttypefind.h:
10536         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
10537         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
10538         (gst_type_find_factory_dispose),
10539         (gst_type_find_factory_unload_thyself),
10540         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
10541         (gst_type_find_factory_get_caps),
10542         (gst_type_find_factory_get_extensions),
10543         (gst_type_find_factory_call_function):
10544         * gst/gsttypefindfactory.h:
10545         * gst/registries/gstlibxmlregistry.c:
10546         * gst/registries/gstxmlregistry.c:
10547           splitted gsttypefind into gsttypefind, gsttypefindfactory
10548
10549 2005-09-07  Andy Wingo  <wingo@pobox.com>
10550
10551         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
10552         condition whereby the pad's task function is entered before the
10553         pad_mode variable was set.
10554
10555 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10556
10557         * gst/gstpad.c: (gst_pad_alloc_buffer):
10558           Catch misbehaving pad_alloc functions that don't
10559           set up caps and do it for them.
10560
10561 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10562
10563         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10564           test for pipe!=NULL
10565         * docs/gst/tmpl/.cvsignore:
10566         * docs/gst/tmpl/gstmemchunk.sgml:
10567         * docs/gst/tmpl/gstparse.sgml:
10568         * docs/gst/tmpl/gsttaglist.sgml:
10569         * docs/gst/tmpl/gsttagsetter.sgml:
10570         * docs/gst/tmpl/gsttypefind.sgml:
10571         * docs/gst/tmpl/gsttypefindfactory.sgml:
10572         * gst/gstmemchunk.c:
10573         * gst/gstparse.c:
10574         * gst/gsttag.c:
10575         * gst/gsttaginterface.c:
10576         * gst/gsttypefind.c:
10577         * gst/gsttypefind.h:
10578           inlined more docs
10579
10580 === release 0.9.2 ===
10581
10582 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10583
10584         * NEWS:
10585         * RELEASE:
10586         * configure.ac:
10587           releasing 0.9.2, "South"
10588
10589 2005-09-05  Andy Wingo  <wingo@pobox.com>
10590
10591         * gst/registries/gstxmlregistry.h:
10592         * gst/registries/gstxmlregistry.c: Um... resurrect...
10593         
10594         * gst/registries/gstxmlregistry.h:
10595         * gst/registries/gstxmlregistry.c: and update to newer API.
10596         Incidentally they should be a bit faster now that they don't have
10597         to parse the caps.
10598         
10599 2005-09-05  Andy Wingo  <wingo@pobox.com>
10600
10601         * gst/registries/gstxmlregistry.h:
10602         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
10603         replaced by the libxml registry a while back
10604
10605 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * docs/gst/tmpl/gstplugin.sgml:
10608         * gst/elements/gstelements.c:
10609         * gst/gst.c:
10610         * gst/gstplugin.c: (gst_plugin_register_func),
10611         (gst_plugin_desc_copy), (gst_plugin_desc_free),
10612         (gst_plugin_get_source):
10613         * gst/gstplugin.h:
10614         * gst/registries/gstlibxmlregistry.c: (load_plugin),
10615         (gst_xml_registry_save_plugin):
10616         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
10617         (gst_xml_registry_save_plugin):
10618         * tools/gst-inspect.c: (print_plugin_info):
10619           add a "source" plugin description field, to represent the source
10620           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
10621           will set it to PACKAGE, which is automake's idea of the name of
10622           the source project.
10623
10624 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10625
10626         * Makefile.am:
10627         * autogen.sh:
10628         * configure.ac:
10629         * docs/Makefile.am:
10630         * docs/faq/Makefile.am:
10631         * docs/gst/tmpl/gstelement.sgml:
10632         * docs/gst/tmpl/gsttypes.sgml:
10633         * docs/htmlinstall.mak:
10634         * docs/manual/Makefile.am:
10635         * docs/pwg/Makefile.am:
10636           reorganize doc build a little
10637           split out docbook and gtk-doc stuff
10638           have two separate --enable's and enable them through autogen
10639           but disable by default in configure (to be similar to other
10640           projects)
10641         * gstreamer.spec.in:
10642           clean up docs install
10643         * po/af.po:
10644         * po/az.po:
10645         * po/ca.po:
10646         * po/cs.po:
10647         * po/de.po:
10648         * po/en_GB.po:
10649         * po/fr.po:
10650         * po/it.po:
10651         * po/nb.po:
10652         * po/nl.po:
10653         * po/ru.po:
10654         * po/sq.po:
10655         * po/sr.po:
10656         * po/sv.po:
10657         * po/tr.po:
10658         * po/uk.po:
10659         * po/vi.po:
10660           translation updates
10661
10662 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10663
10664         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
10665           Add comment.
10666           
10667         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10668         (gst_fake_sink_change_state):
10669           Make state change function thread-safe.
10670           
10671         * gst/gstpad.c: (gst_pad_alloc_buffer):
10672           Set offset on generic buffer allocated by fallback.
10673
10674 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
10675
10676         * docs/gst/gstreamer-sections.txt:
10677         * docs/gst/tmpl/gstelement.sgml:
10678         * gst/gstpad.c:
10679         * libs/gst/controller/gst-controller.c:
10680         (gst_controlled_property_set_interpolation_mode),
10681         (gst_controlled_property_new),
10682         (gst_controller_find_controlled_property):
10683          run the wingo-magic script against the docs
10684
10685 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10686
10687         * docs/gst/gstreamer-docs.sgml:
10688         * docs/gst/gstreamer-sections.txt:
10689         * docs/gst/tmpl/.cvsignore:
10690         * docs/gst/tmpl/gstelementdetails.sgml:
10691         * docs/gst/tmpl/gstelementfactory.sgml:
10692         * gst/gst.c:
10693         * gst/gstbus.c:
10694         * gst/gstelementfactory.c:
10695         * gst/gstelementfactory.h:
10696           merged elementdetails docs into elementfactory docs
10697           inlined both
10698
10699 2005-09-02  Andy Wingo  <wingo@pobox.com>
10700
10701         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
10702         consider this enum an enum and not a flags.
10703
10704 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10705
10706         * docs/gst/gstreamer-docs.sgml:
10707         * docs/gst/tmpl/.cvsignore:
10708         * docs/gst/tmpl/gstghostpad.sgml:
10709         * docs/gst/tmpl/gstiterator.sgml:
10710         * docs/gst/tmpl/gstmacros.sgml:
10711         * docs/gst/tmpl/gstrealpad.sgml:
10712         * docs/gst/tmpl/gstregistry.sgml:
10713         * docs/gst/tmpl/gstregistrypool.sgml:
10714         * docs/gst/tmpl/gststructure.sgml:
10715         * docs/gst/tmpl/gstsystemclock.sgml:
10716         * docs/gst/tmpl/gsttrace.sgml:
10717         * gst/gstghostpad.c:
10718         * gst/gstmacros.h:
10719         * gst/gstmemchunk.c:
10720         * gst/gstmemchunk.h:
10721         * gst/gstqueue.c:
10722         * gst/gstregistry.c:
10723         * gst/gstregistrypool.c:
10724         * gst/gststructure.c:
10725         * gst/gstsystemclock.c:
10726           more docs inlined
10727
10728 2005-09-02  Andy Wingo  <wingo@pobox.com>
10729
10730         * gst/gstelement.h (GstState): Renamed from GstElementState,
10731         changed to be a normal enum instead of flags.
10732         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10733         munged to be GST_STATE_CHANGE_*.
10734         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10735         work with the new state representation.
10736         (GstStateChange): New enumeration of possible state transitions.
10737         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10738         (GstElementClass::change_state): Pass the GstStateChange along as
10739         an argument. Helps language bindings, so they don't have to use
10740         tricky lock-needing macros like GST_STATE_CHANGE ().
10741
10742         * scripts/update-states (file): New script. Run it on a file to
10743         update it for state naming and API changes. Updates files in
10744         place.
10745
10746         * All files updated for the new API.
10747
10748 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10749
10750         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10751         * gst/gstutils.c: (gst_util_set_value_from_string),
10752         (gst_util_set_object_arg):
10753           fix a bunch of unchecked return values
10754         * tools/gst-complete.c: (main):
10755         * gstreamer.spec.in:
10756           clean up a little
10757
10758 2005-09-01  Wim Taymans  <wim@fluendo.com>
10759
10760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10761         (gst_base_sink_event), (gst_base_sink_do_sync),
10762         (gst_base_sink_handle_event):
10763         * gst/base/gstbasesink.h:
10764         Handle newsegments more correctly.
10765
10766         * gst/gstbus.c:
10767         Fix docs.
10768
10769         * gst/gstevent.c: (gst_event_new_newsegment):
10770         A newsegment cannot have a start_time of -1
10771
10772 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10773
10774         * win32/gstenumtypes.c:
10775         * win32/gstenumtypes.h:
10776           Update
10777
10778 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10779
10780         * libs/gst/controller/gst-controller.c:
10781         (gst_controlled_property_set_interpolation_mode),
10782         (gst_controlled_property_new):
10783          fixed boolean again
10784
10785 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10786
10787         * docs/faq/gst-uninstalled:
10788           add -good
10789         * gst/gstevent.c:
10790         * gst/gstevent.h:
10791           remove wrong docs
10792         * gst/gstutils.c: (gst_element_link_filtered):
10793         * gst/gstutils.h:
10794           add gst_element_link_filtered
10795
10796 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10797
10798         * docs/gst/gstreamer-docs.sgml:
10799         * docs/gst/gstreamer-sections.txt:
10800         * docs/gst/tmpl/.cvsignore:
10801         * docs/gst/tmpl/gsterror.sgml:
10802         * docs/gst/tmpl/gstfilter.sgml:
10803         * docs/gst/tmpl/gsturihandler.sgml:
10804         * docs/gst/tmpl/gsturitype.sgml:
10805         * docs/gst/tmpl/gstutils.sgml:
10806         * docs/gst/tmpl/gstxml.sgml:
10807         * gst/gsterror.c:
10808         * gst/gsterror.h:
10809         * gst/gstfilter.c:
10810         * gst/gsturi.c:
10811         * gst/gsturitype.c:
10812         * gst/gstutils.c:
10813         * gst/gstxml.c:
10814           inlined more docs, fixed double id-ref
10815
10816 2005-08-31  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10819         (gst_base_transform_handle_buffer):
10820         Passthrough elements don't need the caps as they don't care.
10821
10822 2005-08-31  Wim Taymans  <wim@fluendo.com>
10823
10824         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10825         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10826         Don't leak refcounts on buffers.
10827
10828 2005-08-31  Wim Taymans  <wim@fluendo.com>
10829
10830         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10831         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10832         (gst_base_transform_chain), (gst_base_transform_change_state):
10833         * gst/base/gstbasetransform.h:
10834         Handle the case where we are not negotiated more gracefully.
10835
10836 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10837
10838         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10839         (gst_file_src_map_region):
10840           Set READONLY flag on mmap'ed buffers, otherwise
10841           gst_buffer_make_writable() won't work properly (#314708).
10842
10843 2005-08-31  Wim Taymans  <wim@fluendo.com>
10844
10845         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10846         passthrough elements can even do inplace on non writable
10847         buffers (as they don't touch them).
10848
10849 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10850
10851         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10852         (gst_test_mono_source_set_property),
10853         (gst_test_mono_source_class_init), (GST_START_TEST),
10854         (gst_controller_suite):
10855           more tests (hehe I have the most)
10856         * gst/gstbus.c:
10857           describe popping messages whenusing mulltiple sources
10858         * libs/gst/controller/gst-controller.c:
10859         (gst_controlled_property_set_interpolation_mode),
10860         (gst_controlled_property_new):
10861         * libs/gst/controller/gst-controller.h:
10862         * libs/gst/controller/gst-interpolation.c:
10863           implement boolean properties
10864
10865 2005-08-31  Wim Taymans  <wim@fluendo.com>
10866
10867         * gst/gstminiobject.c: (gst_mini_object_ref):
10868         Cannot assert that the refcount has to be positive
10869         since a disposed object can be resurrected.
10870
10871 2005-08-31  Wim Taymans  <wim@fluendo.com>
10872
10873         * gst/gstpad.c: (gst_pad_init):
10874         Revert change, need to first fix badly behaving 
10875         apps.
10876
10877 2005-08-30  Wim Taymans  <wim@fluendo.com>
10878
10879         * check/elements/fakesrc.c: (setup_fakesrc):
10880         * check/elements/identity.c: (setup_identity):
10881         Activate pads before using them.
10882
10883 2005-08-30  Wim Taymans  <wim@fluendo.com>
10884
10885         * gst/base/gstadapter.c: (gst_adapter_flush):
10886         Flushing out 0 bytes is ok for this function.
10887
10888         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10889         no newsegment gives a warning and sets the start/stop to 
10890         invalid.
10891
10892         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10893         (gst_base_transform_set_passthrough):
10894         Some debug info.
10895
10896         * gst/gstminiobject.c: (gst_mini_object_ref):
10897         Check refcount here too.
10898
10899         * gst/gstpad.c: (gst_pad_init):
10900         Pads are initially flushing and refusing data.
10901
10902         * gst/gstutils.c: (gst_element_link_pads_filtered):
10903         When adding a capsfilter element make sure it has the
10904         same state as the parent bin.
10905
10906 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10907
10908         * docs/gst/tmpl/.cvsignore:
10909         * docs/gst/tmpl/gstformat.sgml:
10910         * docs/gst/tmpl/gstversion.sgml:
10911         * gst/gstbus.h:
10912         * gst/gstformat.c:
10913         * gst/gstformat.h:
10914         * gst/gstversion.h.in:
10915           more docs and two more inlined
10916
10917 2005-08-30  Wim Taymans  <wim@fluendo.com>
10918
10919         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10920         Don't sync to clock.
10921
10922 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10923
10924         * docs/gst/gstreamer-sections.txt:
10925           ultral33t func10ns deserve to appear in the docs actually
10926         * docs/gst/tmpl/.cvsignore:
10927         * docs/gst/tmpl/gstcompat.sgml:
10928         * docs/gst/tmpl/gstconfig.sgml:
10929         * gst/check/gstcheck.c:
10930         * gst/gstcompat.h:
10931         * gst/gstconfig.h.in:
10932           inlined more docs
10933
10934 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10935
10936         * docs/gst/tmpl/.cvsignore:
10937         * docs/gst/tmpl/gstquery.sgml:
10938         * docs/gst/tmpl/gstutils.sgml:
10939         * gst/gstquery.c:
10940         * gst/gstquery.h:
10941           inlined and extended docs
10942
10943 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10944
10945         * check/gst-libs/controller.c: (GST_START_TEST),
10946         (gst_controller_suite):
10947           more tests
10948         * docs/gst/tmpl/gstutils.sgml:
10949         * docs/libs/gstreamer-libs-sections.txt:
10950         * docs/libs/tmpl/gstdataprotocol.sgml:
10951           include path fixes
10952         * examples/controller/audio-example.c: (main):
10953           controller example works now
10954         * gst/gstclock.h:
10955           doc fixes
10956         * tools/gst-inspect.c: (print_element_properties_info):
10957           show param spec flags
10958
10959 2005-08-29  Andy Wingo  <wingo@pobox.com>
10960
10961         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10962
10963 2005-08-28  Andy Wingo  <wingo@pobox.com>
10964
10965         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10966         as having two arguments instead of just one. Allows superclasses
10967         to access information on subclasses -- see the terrible for() loop
10968         in gtype.c:g_type_create_instance for the reason why. All callers
10969         changed.
10970
10971 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10972
10973         * docs/design/part-messages.txt:
10974           update info
10975         * docs/gst/tmpl/.cvsignore:
10976         * docs/gst/tmpl/gstcaps.sgml:
10977         * docs/gst/tmpl/gstclock.sgml:
10978         * gst/gstbus.c:
10979         * gst/gstcaps.c:
10980         * gst/gstcaps.h:
10981         * gst/gstclock.c:
10982         * gst/gstclock.h:
10983         * gst/gstmessage.c:
10984           added descriptions for bus and message
10985           inline caps and clock docs
10986
10987 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10988
10989         * gst/gstmessage.c:
10990         * gst/gstmessage.h:
10991           doc fixes
10992
10993 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10994
10995         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10996           fix div-by-zero
10997
10998 2005-08-26  Andy Wingo  <wingo@pobox.com>
10999
11000         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11001         element_set_state's return val.
11002         (test_2_elements): Add test that's been disabled for months.
11003
11004         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11005         can-activate-pull properties.
11006
11007         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11008         can-activate-pull properties. Implement is_seekable so fakesrc can
11009         operate in pull mode.
11010
11011         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11012         properties.
11013         (gst_base_sink_activate, gst_base_sink_activate_pull)
11014         (gst_base_sink_activate_push): Make activation mode choosing work.
11015         Cleanups.
11016         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11017         is right. Make pull mode work. Post an eos before pausing in pull
11018         mode.
11019         (gst_base_sink_change_state): Pay attention to the core's
11020         change_state() return val.
11021         
11022         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11023         has-getrange properties. Cleanups.
11024         
11025         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11026         has_getrange and replace with can_activate_pull and
11027         can_activate_push.
11028
11029         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11030         locking comments. Remove has_loop, has_chain and replace with
11031         can_activate_pull and can_activate_push.
11032
11033 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11034
11035         * configure.ac:
11036         * examples/Makefile.am:
11037         * examples/metadata/Makefile.am:
11038         * examples/metadata/read-metadata.c: (message_loop),
11039         (have_pad_handler), (make_pipeline), (print_tag), (main):
11040           Add metadata reading example that loops over a list of filenames,
11041           dumping any tags found.
11042
11043         * gst/gstbus.c: (gst_bus_dispose):
11044         * gst/gstelement.c: (gst_element_dispose):
11045           Release a few potentially-held references in dispose.
11046
11047 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11048
11049         * docs/gst/tmpl/gstminiobject.sgml:
11050           do *not* add tmpl/*.sgml files to CVS!
11051
11052 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11053
11054         * libs/gst/bytestream/.cvsignore:
11055         * libs/gst/bytestream/Makefile.am:
11056         * libs/gst/bytestream/adapter.c:
11057         * libs/gst/bytestream/adapter.h:
11058         * libs/gst/bytestream/bytestream.c:
11059         * libs/gst/bytestream/bytestream.h:
11060         * libs/gst/bytestream/filepad.c:
11061         * libs/gst/bytestream/filepad.h:
11062           removing obsolete files
11063
11064 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11065
11066         * docs/gst/gstreamer-docs.sgml:
11067         * docs/libs/gstreamer-libs-docs.sgml:
11068           disabed additional index entries again, as this makes docs-gen just
11069           slow and they aren't useful yet
11070         * docs/libs/gstreamer-libs-sections.txt:
11071           little -section.txt cleanup for libs
11072
11073 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11076         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11077           fix up some debugging
11078         (gst_base_transform_get_unit_size),
11079         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11080         (gst_base_transform_handle_buffer):
11081         * gst/base/gstbasetransform.h:
11082           handle and store timed NEWSEGMENT events so that subclasses that
11083           calculate time by counting samples have a segment_start time they
11084           need to add to their timestamps - see audioresample
11085
11086 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11087
11088         * gst/gstbin.h:
11089           removed ';' from the end of macro defs
11090         * docs/gst/gstreamer-docs.sgml:
11091         * docs/gst/gstreamer-sections.txt:
11092         * docs/gst/tmpl/.cvsignore:
11093         * gst/gstbus.h:
11094         * gst/gstelement.c: (gst_element_class_init),
11095         (gst_element_set_state), (activate_pads),
11096         (gst_element_save_thyself):
11097         * gst/gstevent.c: (gst_event_new_newsegment):
11098         * gst/gstevent.h:
11099         * gst/gstiterator.c:
11100         * gst/gstiterator.h:
11101         * gst/gstpad.c:
11102         * gst/gstprobe.h:
11103         * gst/gstutils.c: (gst_pad_query_convert):
11104         * gst/gstutils.h:
11105           fixed parameter name mismatches between source, header and docs
11106           added some more docs, resolved the last batch of unused elements in
11107           docs (now someone needs to doc them)
11108
11109 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11112         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11113           don't walk through the plugins backwards.  Where is all this
11114           reversed logic coming from ?
11115
11116 2005-08-25  Wim Taymans  <wim@fluendo.com>
11117
11118         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11119         (gst_base_transform_transform_size),
11120         (gst_base_transform_configure_caps),
11121         (gst_base_transform_get_unit_size),
11122         (gst_base_transform_buffer_alloc),
11123         (gst_base_transform_change_state):
11124         * gst/base/gstbasetransform.h:
11125         Cache caps unit_size.
11126         Make sure we cannot negotiate up and downstream at the
11127         same time.
11128
11129 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * gst/gst.c: (init_pre), (init_post):
11132           register the installed plugin path after the env var
11133         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11134         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11135           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11136           directories, so the tests can prefer uninstalled over installed
11137
11138 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11139
11140         * gst/base/gstbasetransform.h:
11141           comment
11142         * gst/gstpad.c:
11143           add to docs
11144
11145 2005-08-25  Wim Taymans  <wim@fluendo.com>
11146
11147         * gst/gstbin.c: (bin_bus_handler):
11148         Be a bit more conservative about the posted message.
11149         
11150         * gst/gstbus.c: (gst_bus_post):
11151         Some cleanups, warn wrong return values.
11152
11153 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11154
11155         * check/gst/gstbin.c: (GST_START_TEST):
11156         * gst/gstbin.c: (bin_bus_handler):
11157         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11158         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11159         (gst_message_new_warning), (gst_message_new_tag),
11160         (gst_message_new_state_changed), (gst_message_new_segment_start),
11161         (gst_message_new_segment_done), (gst_message_new_custom):
11162         * gst/gstmessage.h:
11163         * tools/gst-launch.c: (event_loop):
11164         * tools/gst-md5sum.c: (event_loop):
11165           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11166
11167 2005-08-25  Wim Taymans  <wim@fluendo.com>
11168
11169         * check/generic/states.c: (GST_START_TEST):
11170         Cleanup can be done at the end.
11171
11172         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11173         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11174         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11175         Oh boy.. Thanks for finding this, Thomas. 
11176
11177 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11178
11179         * docs/gst/gstreamer.types:
11180           added missing types
11181
11182 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11183
11184         * docs/gst/gstreamer-docs.sgml:
11185         * docs/gst/gstreamer-sections.txt:
11186         * docs/gst/tmpl/.cvsignore:
11187         * gst/gstbin.c:
11188         * gst/gstiterator.c:
11189         * gst/gstutils.c:
11190         * gst/registries/gstxmlregistry.h:
11191           added missing classes and symbols (123 more to go)
11192           removed removed symbols from section file
11193           fixed many doc-comments
11194
11195 2005-08-24  Wim Taymans  <wim@fluendo.com>
11196
11197         * check/generic/states.c: (GST_START_TEST):
11198         Make sure all tasks are stopped.
11199
11200         * check/gst/gstbin.c: (GST_START_TEST):
11201         Unref after usage for proper valgrinding.
11202
11203         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11204         Really wait for the task to stop before destroying the
11205         mutex.
11206
11207         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11208         (gst_queue_src_activate_push):
11209         Small cleanups. Don't stop the task when we did not start
11210         it.
11211
11212         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11213         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11214         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11215         (gst_task_join):
11216         * gst/gsttask.h:
11217         Protect the stream lock with the object lock.
11218         Disallow setting the stream lock when running.
11219         Add cleanup_all to wait for the threadpool to finish.
11220         Remove code to autoallocate a mutex if none was provided.
11221         Add _join() to wait for a task to stop.
11222         Protect the thread pool with a global lock.
11223
11224 2005-08-24  Wim Taymans  <wim@fluendo.com>
11225
11226         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11227         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11228         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11229         * gst/base/gstbasesink.h:
11230         Handle newsegment events correctly.
11231         Drop buffers out of the segment range.
11232
11233 2005-08-22  Andy Wingo  <wingo@pobox.com>
11234
11235         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11236         macro, implements an interface and gstimplementsinterface for a
11237         new type.
11238
11239 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11240
11241         * check/Makefile.am:
11242         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11243           add a test that does a bunch of state changes on elements
11244           needs some fixing for valgrind
11245         * check/states/sinks.c: (gst_object_suite):
11246           whitespace
11247         * gst/gstcaps.h:
11248           add prototype for gst_caps_is_equal_fixed
11249         * gst/gstplugin.c:
11250         * gst/gstregistrypool.c:
11251           doc fixes
11252
11253 2005-08-24  Andy Wingo  <wingo@pobox.com>
11254
11255         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11256         convert a negative value. Doesn't make much sense. Mostly this is
11257         here to force callers to ensure -1 maps to -1.
11258
11259 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11260
11261         * docs/pwg/advanced-types.xml:
11262           Well done to Michael for catching my deliberate introduction
11263           of this spelling mistake. 
11264         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11265         * gst/gstelement.h:
11266           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11267           unlink pads before removing the element from the bin.
11268
11269 2005-08-24  Andy Wingo  <wingo@pobox.com>
11270
11271         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11272         the same thing as GST_DEBUG=*:4.
11273         (parse_debug_level, parse_debug_category): New helper parsers.
11274
11275 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11276
11277         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11278         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11279         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11280         (gst_base_transform_buffer_alloc),
11281         (gst_base_transform_handle_buffer):
11282           use gboolean return values and pointers to size so we can use the
11283           full GST_BUFFER_SIZE range (guint) for buffer sizes
11284           use GstPadDirection for transform_caps
11285         * gst/base/gstbasetransform.h:
11286           rename get_size to get_unit_size since that's what it is
11287         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11288           use GstPadDirection for transform_caps
11289         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11290         * gst/gstutils.h:
11291           cleanup and debugging
11292
11293 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11294
11295         * gst/gstelement.c: (gst_element_class_init),
11296         (gst_element_set_state), (activate_pads),
11297         (gst_element_save_thyself):
11298         * tools/gst-compprep.c: (main):
11299         * tools/gst-inspect.c: (print_element_properties_info):
11300         * tools/gst-xmlinspect.c: (print_element_properties):
11301           Fixed long standing mem-leak
11302
11303 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11304
11305         * check/gst/gstbin.c: (GST_START_TEST):
11306         * gst/gstbin.c: (bin_bus_handler):
11307         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11308         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11309         (gst_message_new_warning), (gst_message_new_tag),
11310         (gst_message_new_state_changed), (gst_message_new_segment_start),
11311         (gst_message_new_segment_done), (gst_message_new_custom):
11312         * gst/gstmessage.h:
11313         * tools/gst-launch.c: (event_loop):
11314         * tools/gst-md5sum.c: (event_loop):
11315           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11316           that applications can sensibly post custom messages with references
11317           to their own objects.
11318
11319 2005-08-24  Andy Wingo  <wingo@pobox.com>
11320
11321         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11322         already.
11323
11324 2005-08-24  Wim Taymans  <wim@fluendo.com>
11325
11326         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11327         (gst_base_transform_transform_caps),
11328         (gst_base_transform_transform_size),
11329         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11330         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11331         (gst_base_transform_handle_buffer):
11332         * gst/base/gstbasetransform.h:
11333         Many fixes and new features added by Thomas. Can now also do
11334         transforms with variable sizes and a custom fixate_caps function.
11335
11336 2005-08-24  Wim Taymans  <wim@fluendo.com>
11337
11338         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11339         Some debugging.
11340
11341         * gst/gstclock.h:
11342         Cast to ClockTime before formatting to time.
11343
11344         * gst/gstutils.h:
11345         Cleanups.
11346
11347 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11348
11349         * check/gst-libs/controller.c: (GST_START_TEST),
11350         (gst_controller_suite):
11351         * docs/gst/tmpl/gstcaps.sgml:
11352         * docs/gst/tmpl/gstghostpad.sgml:
11353         * docs/gst/tmpl/gstquery.sgml:
11354         * docs/gst/tmpl/gstutils.sgml:
11355         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11356         (gst_object_sink_values), (gst_object_get_value_arrays),
11357         (gst_object_get_value_array):
11358           gracefully handle helper method calls to objects that are not beeing
11359           controlled, added test case for that          
11360
11361 2005-08-23  Wim Taymans  <wim@fluendo.com>
11362
11363         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11364         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11365         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11366         (gst_event_parse_qos), (gst_event_new_seek),
11367         (gst_event_parse_seek):
11368         * gst/gstevent.h:
11369         Some more debugging output and doc cleanups.
11370
11371         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11372         Fix possible deadlock.
11373
11374 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11375
11376         * docs/gst/gstreamer-docs.sgml:
11377         * docs/gst/gstreamer-sections.txt:
11378         * docs/gst/gstreamer.types:
11379         * docs/gst/tmpl/.cvsignore:
11380         * gst/gstbin.h:
11381         * gst/gstbus.c:
11382         * gst/gstelement.c:
11383         * gst/gstevent.h:
11384           added 100 symbols from gstreamer-unused.txt to the right sections
11385           fixed more broken comments
11386           added GstBus to docs
11387
11388 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11389
11390         * docs/gst/gstreamer-sections.txt:
11391         * docs/gst/tmpl/.cvsignore:
11392         * docs/gst/tmpl/gstbin.sgml:
11393         * docs/gst/tmpl/gstbuffer.sgml:
11394         * gst/base/gstbasesrc.c:
11395         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11396         * gst/gstbuffer.c:
11397         * gst/gstbuffer.h:
11398         * tools/gst-launch.1.in:
11399           inlined more doc comments, added missing comments and fixed comments
11400           fixed typos
11401
11402 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11403
11404         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11405           some debugging
11406         * gst/gstcaps.h:
11407           whitespace fixes
11408         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11409           more debugging
11410         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11411         * gst/gststructure.h:
11412           add a fixate function for booleans; add a FIXME that these func
11413           names should probably be gst_structure_fixate_*
11414
11415 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11416
11417         * docs/gst/gstreamer-docs.sgml:
11418         * docs/gst/gstreamer-sections.txt:
11419         * gst/Makefile.am:
11420         * gst/gstbin.c: (gst_bin_get_type),
11421         (gst_bin_child_proxy_get_child_by_index),
11422         (gst_bin_child_proxy_get_children_count),
11423         (gst_bin_child_proxy_init):
11424         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11425         (gst_child_proxy_get_child_by_index),
11426         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11427         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11428         (gst_child_proxy_get), (gst_child_proxy_set_property),
11429         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11430         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11431         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11432         * gst/gstchildproxy.h:
11433         * gst/parse/grammar.y:
11434         * tools/gst-inspect.c: (print_interfaces),
11435         (print_element_properties_info), (print_element_info):
11436           ported gstchildproxy over from 0.8
11437           ported gst-inspect fixes and enhancements over from 0.8
11438
11439 2005-08-22  Wim Taymans  <wim@fluendo.com>
11440
11441         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11442         (gst_base_transform_handle_buffer):
11443         Also call the transform function if we have ANY caps.
11444
11445         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11446         Fix debug info.
11447
11448 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11449
11450         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11451           Don't pretend to handle seek events if the source is not seekable
11452
11453 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11454
11455         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11456           Remove extra parameter to debug output
11457
11458         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11459         (gst_base_src_do_seek), (gst_base_src_activate_push):
11460           Fix seek event handling.
11461
11462         * gst/gstpipeline.c: (gst_pipeline_change_state):
11463         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11464         (gst_queue_src_activate_push):
11465           Don't start the src pad task on FLUSH_STOP if the pad
11466           isn't linked.
11467           Debug changes.
11468
11469 2005-08-22  Wim Taymans  <wim@fluendo.com>
11470
11471         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11472         Added check for gst_static_caps_get() refcounting.
11473
11474 2005-08-22  Wim Taymans  <wim@fluendo.com>
11475
11476         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11477         Make _static_caps_get() refcounting sane.
11478         
11479         * gst/gstelement.c: (gst_element_set_state):
11480         Add g_return_val_if_fail() to protect against segfaults.
11481
11482 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11483
11484         * docs/gst/tmpl/gstevent.sgml:
11485         * gst/gstevent.c:
11486         * gst/gstevent.h:
11487           inlined remaining docs, added missing doc comments
11488
11489 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11490
11491         * check/gst/gstbin.c: (GST_START_TEST):
11492           since we don't know when preroll is done, use refcount range
11493           check for the sink
11494         * gst/check/gstcheck.h:
11495           add macro for checking refcount range
11496
11497 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11498
11499         * check/Makefile.am:
11500           clean up environment for when registry gets built versus
11501           when actual tests are run; valgrind seems to not report
11502           leaks if GST_PLUGIN_PATH is set to some specific values
11503         * check/gst/gstbin.c: (GST_START_TEST):
11504           add more refcounting checks; maybe this exposes a
11505           preroll lock bug ?
11506         * common/check.mak:
11507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11508         * gst/check/gstcheck.h:
11509         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
11510         (gst_bin_change_state):
11511         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
11512           add/fix debugging/whitespace
11513
11514 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11515
11516         * check/gst/gstevent.c: (event_probe), (test_event),
11517         (GST_START_TEST):
11518          Er, don't call gst_bin_watch_for_state_change you idiot.
11519
11520 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11521
11522         * check/Makefile.am:
11523           Use CHECK_CFLAGS and CHECK_LIBS
11524         * check/gst/gstevent.c: (event_probe), (test_event),
11525         (GST_START_TEST):
11526           Don't leak events.
11527         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11528         (gst_base_src_start), (gst_base_src_stop),
11529         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11530         (gst_base_src_change_state):
11531           Sprinkle gst_base_src_stop liberally around error paths to fix
11532           problems reusing a source after failed state changes.
11533         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11534         (helper_find_suggest), (gst_type_find_helper):
11535           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
11536         * gst/gstevent.h:
11537         * docs/gst/tmpl/gstevent.sgml:
11538           Migrate part of the docs from the SGML file. Wait for ensonic to
11539           tell me how I did it wrong ;)
11540         * tools/gst-typefind.c: (main):
11541           Extra robustness to state changes between files.
11542
11543 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11544
11545         * check/Makefile.am:
11546           don't valgrind the controller test - it's leaking - Stefan, HELP
11547         * gst/check/gstcheck.c: (gst_check_message_error),
11548         (gst_check_chain_func), (gst_check_setup_element),
11549         (gst_check_teardown_element), (gst_check_setup_src_pad),
11550         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11551         (gst_check_teardown_sink_pad):
11552         * gst/check/gstcheck.h:
11553           add a bunch of methods to set up elements, and src and sink pads
11554         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
11555         * check/elements/identity.c: (setup_identity), (cleanup_identity),
11556         (GST_START_TEST):
11557           use them
11558         * gst/gstmessage.c:
11559         * gst/gsttag.h:
11560           whitespace/doc fixes
11561
11562 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11563
11564         * gst/gstelement.h:
11565           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
11566           be handled by the application and not always printed as well
11567
11568 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11569
11570         * check/Makefile.am:
11571           set GST_TOOLS_DIR
11572         * gst/check/gstcheck.c: (gst_check_message_error):
11573         * gst/check/gstcheck.h:
11574           add a fail_unless_equals_int
11575           add fail_unless for error messages
11576
11577 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11578
11579         * check/Makefile.am:
11580         * check/gst.supp:
11581         * common/Makefile.am:
11582         * common/check.mak:
11583         * common/gst.supp:
11584           factor out some of the common stuff so we can use it
11585
11586 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11587
11588         * check/Makefile.am:
11589         * check/gst/gstiterator.c: (GST_START_TEST):
11590         * check/gst/gstsystemclock.c: (GST_START_TEST),
11591         (gst_systemclock_suite):
11592         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11593         * gst/gstclock.c:
11594           valgrind more tests
11595
11596 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11597
11598         * check/elements/.cvsignore:
11599         * check/elements/gstfakesrc.c:
11600           rename to name of element
11601         * check/elements/identity.c: (chain_func), (event_func),
11602         (setup_identity), (cleanup_identity), (GST_START_TEST),
11603         (identity_suite), (main):
11604           add a test for identity
11605         * check/Makefile.am:
11606         * pkgconfig/Makefile.am:
11607         * pkgconfig/gstreamer-check.pc.in:
11608         * pkgconfig/gstreamer-check-uninstalled.pc.in:
11609         * gst/check:
11610         * gst/Makefile.am:
11611         * configure.ac:
11612           move the check stuff to a library that gets installed
11613         * check/gst-libs/controller.c: (GST_START_TEST):
11614         * check/gst-libs/gdp.c:
11615         * check/gst/gst.c: (GST_START_TEST):
11616         * check/gst/gstbin.c:
11617         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11618         * check/gst/gstbus.c:
11619         * check/gst/gstcaps.c: (GST_START_TEST):
11620         * check/gst/gstelement.c:
11621         * check/gst/gstghostpad.c:
11622         * check/gst/gstiterator.c:
11623         * check/gst/gstmessage.c:
11624         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
11625         * check/gst/gstobject.c:
11626         * check/gst/gstpad.c: (GST_START_TEST):
11627         * check/gst/gststructure.c: (GST_START_TEST):
11628         * check/gst/gstsystemclock.c: (GST_START_TEST),
11629         (gst_systemclock_suite):
11630         * check/gst/gsttag.c: (gst_tag_suite):
11631         * check/gst/gstvalue.c:
11632         * check/pipelines/cleanup.c:
11633         * check/pipelines/simple_launch_lines.c:
11634         * check/states/sinks.c:
11635           change include statement
11636
11637         * docs/gst/gstreamer-sections.txt:
11638         * docs/gst/tmpl/gstpad.sgml:
11639           document more pad stuff
11640         * gst/gstminiobject.c: (gst_mini_object_ref),
11641         (gst_mini_object_unref):
11642           debug refcounting
11643
11644 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
11645
11646         * docs/gst/tmpl/gst.sgml:
11647         * gst/gst.c:
11648           eliminate another tmpl file, fix spelling in the long-description
11649
11650 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11651
11652         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11653         (test_event), (timediff), (gstevents_suite):
11654           Should fix build on 64-bit arch's
11655
11656 2005-08-18  Andy Wingo  <wingo@pobox.com>
11657
11658         Make sure that when a pipeline goes to PLAYING, that data has
11659         actually hit the sink.
11660
11661         * check/states/sinks.c (test_sink): A sink that doesn't get any
11662         data shouldn't return SUCCESS for going to either PLAYING or
11663         PAUSED. Test also the return values on the way back down.
11664
11665         * gst/gstelement.c (gst_element_set_state): When changing the
11666         state of an element currently changing state asynchronously, go to
11667         lost-state after commiting the pending state. Makes future calls
11668         to get_state continue to return ASYNC.
11669
11670         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
11671         ASYNC when going to PLAYING if we still don't have preroll, as can
11672         happen with live sources.
11673
11674 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11675
11676         * docs/pwg/advanced-types.xml:
11677           Hack long paragraph into 2 chunks as a workaround for buggy
11678           jadetex version in sid and breezy that loops infinitely and
11679           eats all RAM.
11680
11681 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11682
11683         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11684         (test_event), (timediff), (gstevents_suite):
11685           Provide more error margin in clock measurements to allow for 
11686           g_get_current_time inaccuracies.
11687
11688 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11689
11690         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11691         (test_event), (timediff), (gstevents_suite):
11692            Fix error message output so I might be able to tell why the
11693            test works here but fails on the build farm.
11694
11695 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11696
11697         * check/Makefile.am:
11698         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11699         (test_event), (timediff), (gstevents_suite), (main):
11700           I wrote a test!
11701
11702         * docs/design/part-seeking.txt:
11703           Spelling correction
11704
11705         * docs/gst/tmpl/gstevent.sgml:
11706         * docs/gst/tmpl/gstfakesrc.sgml:
11707           Docs updates.
11708
11709         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11710           Treat a buffer-without-newsegment the same as a receiving 
11711           a newsegment not in time format, and disable syncing to the clock
11712           with a warning.
11713
11714         * gst/gstbus.c: (gst_bus_set_sync_handler):
11715           Assert if anyone tries to replace the existing sync_handler for bus, 
11716           as only the owner should be setting it.
11717
11718         * gst/gstevent.h:
11719           Have a fixed set of custom event enums with events identified by
11720           their structure name (as in 0.8), rather than a free-for-all
11721           allowing collisions between enum values from different plugins.
11722
11723         * gst/gstpad.c: (gst_pad_class_init):
11724           Docs change.
11725           
11726         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11727           Handle out-of-band downstream events from the sending thread.
11728
11729 2005-08-17  Andy Wingo  <wingo@pobox.com>
11730
11731         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11732         play-timeout==0 to mean no timeout at all. In that case, don't
11733         bother with a get_state or a warning, just return directly, even
11734         if it's ASYNC.
11735
11736         * gst/base/gstbasetransform.c: Debug changes.
11737
11738         * gst/gstutils.h:
11739         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11740         ensure bins post state change messages. A bit of a hack but I can't
11741         think of a way to avoid it.
11742
11743         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11744
11745 2005-08-16  Andy Wingo  <wingo@pobox.com>
11746
11747         * gst/base/gstadapter.h:
11748         * gst/base/gstadapter.c (gst_adapter_take): New function, like
11749         peek() but you own the data. Not terribly efficient atm.
11750
11751 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11752
11753         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11754         (gst_element_found_tags):
11755         * gst/gstutils.h:
11756           Add two utility functions for tag handling.
11757
11758 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11759
11760         * docs/manual/advanced-dataaccess.xml:
11761         * docs/manual/basics-helloworld.xml:
11762           Fix docs to use _bin_add() before _link(), which fixes the examples
11763           with recent core versions (reported by Madhan Raj M
11764           <raj_madan@rediffmail.com>, #313199).
11765
11766 2005-08-16  Wim Taymans  <wim@fluendo.com>
11767
11768         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11769         Added subtract checks.
11770
11771         * docs/design/part-events.txt:
11772         Some more docs about newsegment
11773
11774         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11775         Fix FIXME
11776
11777         * gst/gstcaps.c: (gst_caps_to_string):
11778         Add comments, cleanups.
11779         
11780         * gst/gstelement.c: (gst_element_save_thyself):
11781         cleanups
11782         
11783         * gst/gstvalue.c: (gst_value_collect_int_range),
11784         (gst_string_unwrap), (gst_value_union_int_int_range),
11785         (gst_value_union_int_range_int_range),
11786         (gst_value_intersect_int_int_range),
11787         (gst_value_intersect_int_range_int_range),
11788         (gst_value_intersect_double_double_range),
11789         (gst_value_intersect_double_range_double_range),
11790         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11791         (gst_value_subtract_int_range_int),
11792         (gst_value_subtract_double_range_double),
11793         (gst_value_subtract_double_range_double_range),
11794         (gst_value_subtract_from_list), (gst_value_subtract_list),
11795         (gst_value_can_compare), (gst_value_compare_fraction):
11796         Cleanups, add comments, remove unneeded asserts.
11797
11798 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11799
11800         * tools/gst-launch.c: (event_loop):
11801           don't convert NULL structures to strings
11802
11803 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
11804
11805         * docs/gst/gstreamer-sections.txt:
11806           made some defines private
11807         * docs/gst/tmpl/gstconfig.sgml:
11808         * docs/gst/tmpl/gstqueue.sgml:
11809         * docs/gst/tmpl/gsttaglist.sgml:
11810         * docs/gst/tmpl/gsttypes.sgml:
11811         * docs/gst/tmpl/gstutils.sgml:
11812         * docs/pwg/appendix-porting.xml:
11813         * gst/base/gstbasesink.h:
11814         * gst/base/gstbasesrc.c:
11815         * gst/base/gstbasesrc.h:
11816         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11817         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11818         * gst/gstelement.c: (gst_element_class_init):
11819         * gst/gstpad.c: (gst_pad_class_init):
11820         * gst/gstqueue.c: (gst_queue_class_init):
11821         * gst/gstxml.c: (gst_xml_class_init):
11822           documented all undocumented signal inline
11823         * libs/gst/controller/gst-controller.h:
11824           added padding
11825
11826 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11827
11828         * docs/pwg/appendix-porting.xml:
11829           Document _set_link_function -> _set_setcaps_function.
11830
11831 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11832
11833         * check/Makefile.am:
11834           add a .check target for running the check
11835         * check/gst-libs/controller.c: (GST_START_TEST):
11836           cosmetic fixups
11837         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11838           complete checks for gstbuffer; would be nice if I could get the
11839           gcov stuff to work so I can see if I actually completed gstbuffer.c
11840         * check/gstcheck.h:
11841           add ASSERT_BUFFER_REFCOUNT
11842
11843 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11844
11845         * docs/gst/gstreamer-sections.txt:
11846         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11847         * gst/gsttag.h:
11848           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11849           spew out a warning if a tag that is already registered
11850           is re-registered, unless it is re-registered with a 
11851           different type (#308438).
11852
11853 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11854
11855         * docs/pwg/appendix-porting.xml:
11856         * docs/pwg/building-state.xml:
11857           Add some paragraphs about state changes in 0.9 to the PWG
11858           and the porting guide, in particular about the new meaning
11859           of GST_STATE_PAUSED and how to write state change functions
11860           with concurrent access by multiple threads in mind.
11861
11862 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11863
11864         * docs/gst/gstreamer-docs.sgml:
11865         * docs/libs/gstreamer-libs-docs.sgml:
11866           added deprecation and since indexes
11867         * libs/gst/controller/gst-controller.c:
11868         * libs/gst/controller/gst-helper.c:
11869           added since tags
11870
11871
11872 2005-08-11  Wim Taymans  <wim@fluendo.com>
11873
11874         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11875         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11876         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11877         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11878         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11879         (gst_ghost_pad_set_target):
11880         Actually implement (re)setting the target on a ghostpad
11881         as described in the docs.
11882
11883 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11884
11885         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11886           Check whether GST_DEBUG_NO_COLOR environment variable is
11887           set and disable coloured debug output if that is the case.
11888
11889 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11890
11891         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11892         (gst_type_find_helper):
11893           The memory returned by gst_type_find_peek() needs to
11894           stay valid until the end of a typefind function, and
11895           typefind functions may keep results from different 
11896           offsets around, so we can't just unref the buffer from
11897           the previous _peek(), but have to save all buffers 
11898           returned by _peek() until typefinding is done and only
11899           free them then.
11900
11901 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11902
11903         * docs/gst/gstreamer-sections.txt:
11904         * gst/gstutils.h:
11905           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11906
11907 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11908
11909         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11910           Fix a pretty good memleak.
11911
11912 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11913
11914         * gst/gstiterator.h:
11915           Fix wrong include and 'make distcheck'.
11916
11917 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11918
11919         * gst/gstbin.c: (bin_bus_handler):
11920           Use gst_element_post_message() instead.
11921
11922 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11923
11924         * gst/base/gstadapter.h:
11925         * gst/base/gstbasesink.h:
11926         * gst/base/gstbasesrc.h:
11927         * gst/base/gstbasetransform.h:
11928         * gst/base/gstcollectpads.h:
11929         * gst/base/gstpushsrc.h:
11930         * gst/gstiterator.h:
11931           Add padding to our base elements' class and instance structs and
11932           to GstIterator (you will need to rebuild all plugins and apps!)
11933
11934 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11935
11936         * gst/gstbin.c: (bin_bus_handler):
11937           Make default message forwarding from child->bus to bin->bus
11938           threadsafe and make it not emit warnings if the parent has no bus.
11939
11940 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11941
11942         * gst/gstelement.c: (activate_pads):
11943           On paused->ready, set pad->caps to NULL, as is the documented
11944           behaviour in this state change. Fixes playback of series of
11945           media files when visualization is enabled in Totem.
11946
11947 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11948
11949         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11950           Allow NULL as filter-caps (which means "any").
11951
11952 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11953
11954         * docs/libs/gstreamer-libs-sections.txt:
11955         * libs/gst/controller/gst-controller.c:
11956         * libs/gst/controller/gst-controller.h:
11957         * libs/gst/controller/gst-helper.c:
11958           adding more entries to the docs and fix small doc-bugs
11959
11960 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11961
11962         * docs/gst/gstreamer-docs.sgml:
11963         * docs/gst/gstreamer-sections.txt:
11964         * docs/gst/gstreamer.types:
11965         * docs/gst/tmpl/gstbasesink.sgml:
11966         * docs/gst/tmpl/gstbasesrc.sgml:
11967         * docs/gst/tmpl/gstbasetransform.sgml:
11968         * docs/gst/tmpl/gstfakesrc.sgml:
11969         * gst/base/gstcollectpads.c:
11970         * gst/base/gstcollectpads.h:
11971         * libs/gst/controller/gst-controller.c:
11972         * libs/gst/controller/gst-controller.h:
11973         * libs/gst/controller/gst-helper.c:
11974         * libs/gst/controller/gst-interpolation.c:
11975         * libs/gst/controller/lib.c:
11976           added long/short desc for controller docs
11977           added collectpads base class docs
11978           added correct includes to base-class docs
11979
11980 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11981
11982         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11983         (gst_test_mono_source_set_property),
11984         (gst_test_mono_source_class_init), (GST_START_TEST),
11985         (gst_controller_suite):
11986         * docs/gst/gstreamer-docs.sgml:
11987         * docs/gst/gstreamer-sections.txt:
11988         * docs/gst/gstreamer.types:
11989         * docs/libs/gstreamer-libs-docs.sgml:
11990         * docs/libs/gstreamer-libs-sections.txt:
11991         * gst/base/gstadapter.c:
11992         * libs/gst/controller/gst-controller.c:
11993         (gst_controlled_property_new), (gst_controlled_property_free),
11994         (gst_controller_new_valist),
11995         (gst_controller_remove_properties_valist),
11996         (gst_controller_sink_values), (_gst_controller_finalize):
11997         * libs/gst/controller/gst-controller.h:
11998         * libs/gst/controller/gst-helper.c:
11999         (gst_object_control_properties), (gst_object_uncontrol_properties),
12000         (gst_object_get_controller), (gst_object_set_controller),
12001         (gst_object_sink_values), (gst_object_get_value_arrays),
12002         (gst_object_get_value_array):
12003           more tests (and fixes) for the controller
12004           more docs for the controller
12005           integrated companies docs for the adapter 
12006
12007 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12008
12009         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12010         (GST_START_TEST), (fakesrc_suite):
12011           add tests for sizetype
12012
12013 2005-08-04  Andy Wingo  <wingo@pobox.com>
12014
12015         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12016         fixes buffer_alloc proxying among other things.
12017
12018         * gst/base/gstbasetransform.c:
12019         * gst/base/gstbasetransform.h:
12020         Revert patch to gstbasetransform from 7-28 removing
12021         delay_configure.
12022
12023         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12024         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12025         Semantics changed, should return not the size of the output buffer
12026         but the byte size of a buffer with a given caps.
12027
12028         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12029         debug object.
12030         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12031         out) are not the pad caps until setcaps finishes.
12032         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12033         not-in-place case as well. Deal with changing from in-place to
12034         not-in-place within calling pad_alloc_buffer. Still a bit
12035         concerned about the overhead here...
12036
12037 2005-08-03  Andy Wingo  <wingo@pobox.com>
12038
12039         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12040         fixating is an error.
12041
12042 2005-08-04  Edward Hervey  <edward@fluendo.com>
12043
12044         * gst/base/gstadapter.h: 
12045         Added gst_adapter_get_type() to the header
12046
12047 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12048
12049         * check/Makefile.am:
12050         * check/gst-libs/controller.c:
12051         * libs/gst/controller/gst-controller.c:
12052         (gst_controller_new_valist):
12053           added check test suite for the controller
12054         * gst/base/gstpushsrc.c:
12055           fixed a doc typo
12056
12057 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12058
12059         * docs/gst/Makefile.am:
12060         * docs/gst/gstreamer-docs.sgml:
12061         * docs/gst/gstreamer-sections.txt:
12062         * docs/gst/gstreamer.types:
12063         * docs/gst/tmpl/gstfakesrc.sgml:
12064         * gst/base/README:
12065         * gst/base/gstbasesink.c:
12066         * gst/base/gstbasesink.h:
12067         * gst/base/gstbasesrc.c:
12068         * gst/base/gstbasesrc.h:
12069         * gst/base/gstbasetransform.c:
12070         * gst/base/gstpushsrc.c:
12071         * gst/base/gstpushsrc.h:
12072           add short/long description docs to base classes
12073           add pushsrc to the docs
12074           remove consolidated doc fragments
12075
12076 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12077
12078         * configure.ac:
12079         * docs/libs/Makefile.am:
12080         * docs/libs/gstreamer-libs-docs.sgml:
12081         * docs/libs/gstreamer-libs-sections.txt:
12082         * docs/libs/gstreamer-libs.types:
12083         * examples/Makefile.am:
12084         * examples/controller/.cvsignore:
12085         * examples/controller/Makefile.am:
12086         * examples/controller/audio-example.c: (main):
12087         * libs/gst/Makefile.am:
12088         * libs/gst/controller/.cvsignore:
12089         * libs/gst/controller/Makefile.am:
12090         * libs/gst/controller/gst-controller.c:
12091         (on_object_controlled_property_changed), (gst_timed_value_compare),
12092         (gst_timed_value_find),
12093         (gst_controlled_property_set_interpolation_mode),
12094         (gst_controlled_property_new), (gst_controlled_property_free),
12095         (gst_controller_find_controlled_property),
12096         (gst_controller_new_valist), (gst_controller_new),
12097         (gst_controller_remove_properties_valist),
12098         (gst_controller_remove_properties), (gst_controller_set),
12099         (gst_controller_set_from_list), (gst_controller_unset),
12100         (gst_controller_get), (gst_controller_get_all),
12101         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12102         (gst_controller_get_value_array),
12103         (gst_controller_set_interpolation_mode),
12104         (_gst_controller_finalize), (_gst_controller_init),
12105         (_gst_controller_class_init), (gst_controller_get_type):
12106         * libs/gst/controller/gst-controller.h:
12107         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12108         (g_object_uncontrol_properties), (g_object_get_controller),
12109         (g_object_set_controller), (g_object_sink_values),
12110         (g_object_get_value_arrays), (g_object_get_value_array):
12111         * libs/gst/controller/gst-interpolation.c:
12112         (gst_controlled_property_find_timed_value_node),
12113         (interpolate_none_get), (interpolate_trigger_get),
12114         (interpolate_trigger_get_value_array):
12115         * libs/gst/controller/lib.c: (gst_controller_init):
12116         * pkgconfig/Makefile.am:
12117         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12118         * pkgconfig/gstreamer-control.pc.in:
12119         * testsuite/Makefile.am:
12120         * testsuite/controller/.cvsignore:
12121         * testsuite/controller/Makefile.am:
12122         * testsuite/controller/interpolator.c: (main):
12123           added controller code
12124           removed dparam pc files
12125
12126 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12127         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12128         (gst_collectpads_stop):
12129           Broadcast the condition when shutting down, to make sure we wake all
12130           threads up. Shut down pads on finalize, for safety.
12131
12132 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12133         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12134         (gst_base_transform_handle_buffer),
12135         (gst_base_transform_change_state):
12136           Handle PAUSED->READY->PAUSED transition after negotiation
12137           occurred already.
12138         * gst/gstmessage.c: (gst_message_init):
12139           Extra piece of debug for new messages.
12140
12141 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12142
12143         * configure.ac:
12144         * docs/gst/tmpl/gstbasesrc.sgml:
12145         * docs/gst/tmpl/gstelement.sgml:
12146         * docs/gst/tmpl/gstevent.sgml:
12147         * docs/gst/tmpl/gstfakesrc.sgml:
12148         * docs/gst/tmpl/gstformat.sgml:
12149         * docs/gst/tmpl/gstghostpad.sgml:
12150         * docs/gst/tmpl/gstpad.sgml:
12151         * docs/gst/tmpl/gstquery.sgml:
12152         * docs/gst/tmpl/gststructure.sgml:
12153         * docs/gst/tmpl/gsttaglist.sgml:
12154         * docs/gst/tmpl/gstvalue.sgml:
12155         * docs/libs/gstreamer-libs-docs.sgml:
12156         * docs/libs/gstreamer-libs-sections.txt:
12157         * docs/libs/gstreamer-libs.types:
12158         * libs/gst/Makefile.am:
12159         * libs/gst/control/.cvsignore:
12160         * libs/gst/control/Makefile.am:
12161         * libs/gst/control/control.c:
12162         * libs/gst/control/control.h:
12163         * libs/gst/control/dparam.c:
12164         * libs/gst/control/dparam.h:
12165         * libs/gst/control/dparam_smooth.c:
12166         * libs/gst/control/dparam_smooth.h:
12167         * libs/gst/control/dparamcommon.h:
12168         * libs/gst/control/dparammanager.c:
12169         * libs/gst/control/dparammanager.h:
12170         * libs/gst/control/dplinearinterp.c:
12171         * libs/gst/control/dplinearinterp.h:
12172         * libs/gst/control/unitconvert.c:
12173         * libs/gst/control/unitconvert.h:
12174         * testsuite/Makefile.am:
12175         * testsuite/dynparams/.cvsignore:
12176         * testsuite/dynparams/Makefile.am:
12177         * testsuite/dynparams/dparamstest.c:
12178         * tools/Makefile.am:
12179         * tools/gst-inspect.c: (print_element_info), (main):
12180         * tools/gst-xmlinspect.c: (print_element_info), (main):
12181           deactivate and remove dparams (libgstcontrol)
12182
12183 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12184
12185         * gst/elements/gsttypefindelement.c:
12186         (gst_type_find_element_have_type), (gst_type_find_element_init),
12187         (stop_typefinding), (gst_type_find_element_handle_event),
12188         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12189         * gst/elements/gsttypefindelement.h:
12190           Set caps on all outgoing buffers, not just the first one.
12191
12192 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12193
12194         * gst/elements/gsttypefindelement.c:
12195         (gst_type_find_element_have_type),
12196         (gst_type_find_element_check_set_buffer_caps),
12197         (gst_type_find_element_init), (stop_typefinding),
12198         (gst_type_find_element_handle_event),
12199         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12200         * gst/elements/gsttypefindelement.h:
12201           Set caps on first outgoing buffer when we've found the type.
12202
12203 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12204
12205         * docs/gst/gstreamer-docs.sgml:
12206         * docs/gst/gstreamer-sections.txt:
12207         * docs/gst/tmpl/gstscheduler.sgml:
12208         * docs/gst/tmpl/gstschedulerfactory.sgml:
12209           Remove some old cruft from docs.
12210
12211 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12212
12213         * gst/gstpad.h:
12214           Fix inline docs for GstPadLinkReturn.
12215           
12216         * gst/gststructure.c: (gst_structure_has_name):
12217         * gst/gststructure.h:
12218         * docs/gst/gstreamer-sections.txt:
12219           New API: gst_structure_has_name().
12220
12221 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12222
12223         * configure.ac:
12224           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12225           and _LARGEFILE_SOURCE in config.h as required. Do not 
12226           export those flags in our .pc files any longer (#142209).
12227
12228           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12229
12230         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12231         (gst_file_sink_do_seek), (gst_file_sink_event),
12232         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12233           Redo seek/tell calls with large file support in mind; add some
12234           debugging messages; add log message that tells us when large
12235           file support is unavailable or not enabled for some reason.
12236
12237         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12238           Add log message that tells us when large file support 
12239           is unavailable or not enabled for some reason.
12240
12241 2005-07-29  Wim Taymans  <wim@fluendo.com>
12242
12243         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12244         Added test for removing an element with ghostpad from a bin.
12245         Fixed test as current implementation does the right thing.
12246
12247         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12248         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12249         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12250         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12251         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12252         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12253         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12254         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12255         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12256         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12257         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12258         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12259         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12260         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12261         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12262         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12263         * gst/gstghostpad.h:
12264         Clean up ghostpads, remove properties for internal stuff.
12265         Make threadsafe.
12266         Fix refcounting.
12267         Prepare for switching targets, not all use cases work yet.
12268
12269 2005-07-29  Wim Taymans  <wim@fluendo.com>
12270
12271         * docs/design/part-gstghostpad.txt:
12272         Small update.
12273
12274         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12275         (gst_bin_remove_func):
12276         Unlinking pads while holding the bin LOCK is not a good
12277         idea.
12278
12279         * gst/gstpad.c: (gst_pad_class_init),
12280         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12281         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12282         No prob setting template after creating the pad.
12283
12284 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12285
12286         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12287         (gst_bus_peek), (gst_bus_source_dispatch),
12288         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12289         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12290           gst_bus_poll may be called from other threads. Handle
12291           this nicely by not making poll_data disappear off the
12292           stack once gst_bus_poll returns.
12293           gst_bus_peek now increments the refcount on the returned
12294           message.
12295
12296 2005-07-29  Wim Taymans  <wim@fluendo.com>
12297
12298         * docs/design/part-gstghostpad.txt:
12299         Overview of current GhostPad datastructures and use
12300         cases for changing the target.
12301
12302 2005-07-28  Wim Taymans  <wim@fluendo.com>
12303
12304         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12305         Added checks for hierarchy consistency whan adding linked
12306         elements to bins.
12307
12308         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12309         Added check to test element scheduling without bin/pipeline.
12310
12311         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12312         First add elements to bin, then link.
12313         
12314         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12315         (gst_bin_remove_func):
12316         Unlink pads from elements added/removed from bin to maintain
12317         hierarchy consistency.
12318
12319 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12320
12321         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12322         (gst_base_transform_handle_buffer):
12323         * gst/base/gstbasetransform.h:
12324           Remove broken delay_configure (fixes renegotiation of software
12325           scaling pipelines); remove some leftover printf()s.
12326
12327 2005-07-28  Wim Taymans  <wim@fluendo.com>
12328
12329         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12330         Added some more tests for wrong hierarchy
12331
12332         * docs/design/part-overview.txt:
12333         Some updates.
12334
12335         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12336         Cleanups.
12337
12338         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12339         (gst_element_dispose):
12340         Some more cleanups.
12341
12342         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12343         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12344         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12345         (gst_pad_set_caps), (gst_pad_send_event):
12346         Check for correct hierarchy when linking pads. Moving to
12347         strict requirement for ghostpads when linking elements in
12348         different bins.
12349
12350         * gst/gstpad.h:
12351         Clean ups. Added WRONG_HIERARCHY return value.
12352
12353 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12354
12355         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12356           Better debug if no transform is possible.
12357
12358 2005-07-27  Wim Taymans  <wim@fluendo.com>
12359
12360         * docs/random/wtay/network-transp:
12361         Some old doc I had.
12362
12363 2005-07-27  Wim Taymans  <wim@fluendo.com>
12364
12365         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12366         (gst_dp_event_from_packet):
12367         Fix serialization of seek events.
12368
12369 2005-07-27  Wim Taymans  <wim@fluendo.com>
12370
12371         * check/gst-libs/gdp.c: (GST_START_TEST):
12372         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12373         Fix compilation and fix event serialization.
12374
12375 2005-07-27  Wim Taymans  <wim@fluendo.com>
12376
12377         * CHANGES-0.9:
12378         * docs/design/part-TODO.txt:
12379         * docs/design/part-events.txt:
12380         Some docs updates
12381
12382         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12383         (gst_base_sink_event), (gst_base_sink_do_sync),
12384         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12385         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12386         (gst_base_src_do_seek), (gst_base_src_event_handler),
12387         (gst_base_src_loop):
12388         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12389         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12390         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12391         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12392         (gst_base_transform_set_passthrough),
12393         (gst_base_transform_is_passthrough):
12394         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12395         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12396         Event updates.
12397
12398         * gst/gstbuffer.h:
12399         Use faster casts.
12400
12401         * gst/gstelement.c: (gst_element_seek):
12402         * gst/gstelement.h:
12403         Update gst_element_seek.
12404
12405         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12406         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12407         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12408         (gst_event_new_eos), (gst_event_new_newsegment),
12409         (gst_event_parse_newsegment), (gst_event_new_tag),
12410         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12411         (gst_event_parse_qos), (gst_event_new_seek),
12412         (gst_event_parse_seek), (gst_event_new_navigation):
12413         * gst/gstevent.h:
12414         Make GstEvent use GstStructure. Add parsing code, make sure the
12415         API is sufficiently generic.
12416         Mark possible directions of events and serialization.
12417
12418         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12419         (_gst_message_copy), (gst_message_new_segment_start),
12420         (gst_message_new_segment_done), (gst_message_new_custom),
12421         (gst_message_parse_segment_start),
12422         (gst_message_parse_segment_done):
12423         Small cleanups.
12424
12425         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12426         (gst_pad_set_caps), (gst_pad_send_event):
12427         Update for new events. 
12428         Catch events sent in wrong directions.
12429
12430         * gst/gstqueue.c: (gst_queue_link_src),
12431         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12432         (gst_queue_handle_src_query):
12433         Event updates.
12434
12435         * gst/gsttag.c:
12436         * gst/gsttag.h:
12437         Remove event code from this file.
12438
12439         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12440         (gst_dp_event_from_packet):
12441         Event updates.
12442
12443 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12444
12445         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12446         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12447         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12448           Make debugging actually useful.
12449
12450 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12451
12452         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12453         (gst_pad_fixate_caps):
12454           Implement default fixation once again, so that gst_pad_fixate()
12455           actually does anything at all. This probably needs to be some
12456           sort of a last resort, and use profile-based fixation first, but
12457           since that doesn't exist yet, this is the best we have. Fixes
12458           visualization in Totem.
12459
12460 2005-07-22  Wim Taymans  <wim@fluendo.com>
12461
12462         * docs/design/part-events.txt:
12463         Small update.
12464
12465         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12466         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12467         (gst_base_sink_activate_pull):
12468         Some more comments.
12469
12470         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12471         (gst_fake_src_create):
12472         Fix handoff marshall.
12473
12474         * gst/elements/gstidentity.c: (gst_identity_class_init),
12475         (gst_identity_transform_ip):
12476         We're a real inplace element.
12477
12478         * gst/gstbus.c: (gst_bus_post):
12479         Added some comments.
12480
12481         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12482         * tests/muxing/case1.c: (main):
12483         * tests/sched/dynamic-pipeline.c: (main):
12484         * tests/sched/interrupt1.c: (main):
12485         * tests/sched/interrupt2.c: (main):
12486         * tests/sched/interrupt3.c: (main):
12487         * tests/sched/runxml.c: (main):
12488         * tests/sched/sched-stress.c: (main):
12489         * tests/seeking/seeking1.c: (event_received), (main):
12490         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12491         (main):
12492         * tests/threadstate/threadstate3.c: (main):
12493         * tests/threadstate/threadstate4.c: (main):
12494         * tests/threadstate/threadstate5.c: (main):
12495         Fix the tests.
12496
12497 2005-07-21  Wim Taymans  <wim@fluendo.com>
12498
12499         * docs/design/part-seeking.txt:
12500         Some small additions.
12501
12502         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12503         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12504         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12505         * gst/base/gstbasesink.h:
12506         discont values are gint64, handle the math correctly.
12507
12508         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12509         Make the basesrc report error if the source pad is not linked.
12510
12511         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12512         (gst_queue_loop), (gst_queue_handle_src_query),
12513         (gst_queue_src_activate_push):
12514         Make queue collect data even if the srcpad is not linked.
12515         Start pushing out data as soon as it is linked.
12516
12517         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
12518         * gst/gstutils.h:
12519         Added gst_flow_get_name() to ease error reporting.
12520
12521 2005-07-20  Wim Taymans  <wim@fluendo.com>
12522
12523         * gst/gstmessage.c: (gst_message_new_segment_start),
12524         (gst_message_new_segment_done), (gst_message_parse_segment_start),
12525         (gst_message_parse_segment_done):
12526         * gst/gstmessage.h:
12527         Added a bunch of messages for advanced seeking.
12528
12529         * gst/parse/grammar.y:
12530         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
12531         (gst_dpman_state_changed):
12532         Fix some new-pad -> pad-added signals
12533
12534 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12535
12536         * docs/manual/appendix-porting.xml:
12537         * docs/pwg/appendix-porting.xml:
12538           Document new-pad/state-change signal renames and the FixedList
12539           type rename.
12540
12541 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12542
12543         * docs/manual/advanced-autoplugging.xml:
12544         * docs/manual/basics-helloworld.xml:
12545         * docs/manual/basics-pads.xml:
12546         * docs/random/ds/0.9-suggested-changes:
12547         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
12548         * gst/gstelement.h:
12549         * gst/gstevent.h:
12550         * gst/gstformat.h:
12551         * gst/gstquery.h:
12552         * gst/gststructure.c: (gst_structure_value_get_generic_type),
12553         (gst_structure_parse_array), (gst_structure_parse_value):
12554         * gst/gstvalue.c: (gst_type_is_fixed),
12555         (gst_value_list_prepend_value), (gst_value_list_append_value),
12556         (gst_value_list_get_size), (gst_value_list_get_value),
12557         (gst_value_transform_array_string), (gst_value_serialize_array),
12558         (gst_value_deserialize_array), (gst_value_intersect_array),
12559         (gst_value_is_fixed), (_gst_value_initialize):
12560         * gst/gstvalue.h:
12561           GstElement::new-pad -> pad-added, GstElement::state-change ->
12562           state-changed, GstValueFixedList -> GstValueArray, add format and
12563           flags as their own arguments in gst_element_seek() (should improve
12564           "bindeability"), remove function generators since they don't work
12565           under a whole bunch of compilers (they were deprecated already
12566           anyway).
12567
12568 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12569
12570         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12571         (_gst_debug_register_funcptr):
12572         * gst/gstinfo.h:
12573           Fix illegal cast on some platforms (#309253).
12574
12575 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12576
12577         * gst/gstmessage.c: (gst_message_new_custom):
12578         * gst/gstmessage.h:
12579           Add _new_custom, make _new_application a macro to _new_custom.
12580
12581 2005-07-20  Wim Taymans  <wim@fluendo.com>
12582
12583         * gst/base/gstbasesrc.c: (gst_base_src_init),
12584         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12585         * gst/base/gstbasesrc.h:
12586         Add a gboolean to decide when to push out a discont.
12587
12588         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12589         (gst_queue_loop), (gst_queue_handle_src_query),
12590         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
12591         (gst_queue_set_property), (gst_queue_get_property):
12592         Some cleanups.
12593
12594         * tests/threadstate/threadstate1.c: (main):
12595         Make a thread test compile and run... very silly..
12596
12597
12598 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12599
12600         * docs/manual/appendix-porting.xml:
12601           Mention removal of libgstgconf-0.9.la and existence of gconf
12602           elements.
12603
12604 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12605
12606         * docs/pwg/advanced-clock.xml:
12607         * docs/pwg/appendix-porting.xml:
12608         * docs/pwg/intro-preface.xml:
12609         * docs/pwg/other-base.xml:
12610         * docs/pwg/other-manager.xml:
12611         * docs/pwg/other-nton.xml:
12612         * docs/pwg/other-ntoone.xml:
12613         * docs/pwg/other-oneton.xml:
12614         * docs/pwg/pwg.xml:
12615           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
12616           demuxer), remove n-to-n (was never written), fix some code examples
12617           and links and update the porting section to include all this.
12618
12619 2005-07-19  Wim Taymans  <wim@fluendo.com>
12620
12621         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
12622         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
12623         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
12624         (gst_queue_src_activate_push), (gst_queue_change_state),
12625         (gst_queue_get_property):
12626         * gst/gstqueue.h:
12627         Propagate GstFlowReturn more intelligently upstream and output
12628         an ERROR/EOS when streaming stopped due to fatal error.
12629
12630 2005-07-19  Wim Taymans  <wim@fluendo.com>
12631
12632         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12633         Don't block forever for the state change to complete, the
12634         pipeline already did with a sensible timeout.
12635
12636 2005-07-19  Wim Taymans  <wim@fluendo.com>
12637
12638         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12639         Make sure we never call the create function is we
12640         got deactivated.
12641
12642 2005-07-19  Andy Wingo  <wingo@pobox.com>
12643
12644         * gst/parse/parse.l: Attempt to solve bug #172815.
12645
12646 2005-07-19  Wim Taymans  <wim@fluendo.com>
12647
12648         * docs/design/part-clocks.txt:
12649         * docs/design/part-events.txt:
12650         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
12651         Small docs updates.
12652         Only update the seeking values when we are not
12653         busy streaming.
12654
12655 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12656
12657         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12658           Oops, ignore the result of gst_pad_push_event here.
12659
12660 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12661
12662         * gst/base/gstbasesrc.c: (gst_base_src_loop),
12663         (gst_base_src_activate_push):
12664           Send discont event from the loop function, as pads
12665           aren't activated yet in the activate_push handler.
12666
12667         * gst/gstbin.c: (bin_bus_handler):
12668           Don't leak element name.
12669
12670 2005-07-18  Andy Wingo  <wingo@pobox.com>
12671
12672         * configure.ac: Use AS_LIBTOOL_TAGS.
12673
12674 2005-07-18  Wim Taymans  <wim@fluendo.com>
12675
12676         * docs/gst/gstreamer.types:
12677         Remove deleted types.
12678
12679 2005-07-18  Wim Taymans  <wim@fluendo.com>
12680
12681         * check/elements/gstfakesrc.c: (GST_START_TEST):
12682         * configure.ac:
12683         * gst/Makefile.am:
12684         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
12685         (init_popt_callback):
12686         * gst/gst.h:
12687         * gst/gst_private.h:
12688         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
12689         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
12690         * gst/gstbin.h:
12691         * gst/gstbus.h:
12692         * gst/gstconfig.h.in:
12693         * gst/gstelement.c: (gst_element_class_init),
12694         (gst_element_set_base_time), (gst_element_get_base_time),
12695         (iterator_fold_with_resync), (gst_element_change_state),
12696         (gst_element_dispose), (gst_element_get_bus):
12697         * gst/gstelement.h:
12698         * gst/gstelementfactory.h:
12699         * gst/gsterror.c: (_gst_core_errors_init):
12700         * gst/gsterror.h:
12701         * gst/gstevent.h:
12702         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12703         * gst/gstindex.c:
12704         * gst/gstinfo.c: (_gst_debug_init):
12705         * gst/gstmessage.c: (_gst_message_copy):
12706         * gst/gstmessage.h:
12707         * gst/gstminiobject.h:
12708         * gst/gstobject.c:
12709         * gst/gstobject.h:
12710         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12711         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
12712         * gst/gstpad.h:
12713         * gst/gstparse.h:
12714         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12715         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12716         (gst_pipeline_get_last_stream_time):
12717         * gst/gstpipeline.h:
12718         * gst/gstpluginfeature.h:
12719         * gst/gstquery.h:
12720         * gst/gstscheduler.c:
12721         * gst/gstscheduler.h:
12722         * gst/gststructure.h:
12723         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12724         (gst_task_finalize), (gst_task_func), (gst_task_create),
12725         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12726         (gst_task_stop), (gst_task_pause):
12727         * gst/gsttask.h:
12728         * gst/gsttypefind.h:
12729         * gst/gsttypes.h:
12730         * gst/registries/gstlibxmlregistry.c: (load_feature),
12731         (gst_xml_registry_load), (gst_xml_registry_save_feature):
12732         * gst/registries/gstxmlregistry.c:
12733         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12734         * gst/schedulers/threadscheduler.c:
12735         * libs/gst/control/dparammanager.h:
12736         * tools/gst-inspect.c: (print_element_list),
12737         (print_plugin_features), (print_element_features):
12738         * tools/gst-xmlinspect.c: (print_element_list),
12739         (print_plugin_info), (main):
12740         Removed plugable schedulers.
12741         Removed Scheduler/Manager from elements.
12742         Removed gsttypes.h, rearranged includes.
12743         Removed dependency pad<->element, element<>pipeline, and
12744         various others,  fix includes.
12745         implement gst_pad_get_parent() with gst_object_get_parent()
12746         Make GstTask sefcontained.
12747         Fix _get_state() on GstBin, it did not return ASYNC with a 0
12748         timeout.
12749         Fix endless loop in iterator_fold_with_resync.
12750
12751
12752 2005-07-18  Wim Taymans  <wim@fluendo.com>
12753
12754         * gst/Makefile.am:
12755         * gst/gstarch.h:
12756         Remove old file.
12757
12758 2005-07-18  Wim Taymans  <wim@fluendo.com>
12759
12760         * gst/Makefile.am:
12761         No more cothreads.h
12762
12763 2005-07-18  Wim Taymans  <wim@fluendo.com>
12764
12765         * gst/cothreads.c:
12766         * gst/cothreads.h:
12767         Let's remove these.
12768
12769 2005-07-18  Wim Taymans  <wim@fluendo.com>
12770
12771         * docs/design/part-dynamic.txt:
12772         * docs/design/part-events.txt:
12773         * docs/design/part-seeking.txt:
12774         Some more docs in the works.
12775
12776         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12777         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12778         (gst_base_transform_setcaps), (gst_base_transform_get_size),
12779         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12780         (gst_base_transform_handle_buffer),
12781         (gst_base_transform_sink_activate_push),
12782         (gst_base_transform_src_activate_pull),
12783         (gst_base_transform_set_passthrough),
12784         (gst_base_transform_is_passthrough):
12785         Refcounting fixes.
12786
12787         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12788         Cleanups.
12789
12790         * gst/gstevent.c: (gst_event_finalize):
12791         Set SRC to NULL.
12792
12793         * gst/gstutils.c: (gst_element_unlink),
12794         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12795         (gst_pad_proxy_setcaps):
12796         * gst/gstutils.h:
12797         Add _get_parent_element() to get a pads parent as an element.
12798
12799 2005-07-18  Wim Taymans  <wim@fluendo.com>
12800
12801         * check/gst/gstbin.c: (GST_START_TEST):
12802         Remove bogus test.
12803
12804 2005-07-18  Wim Taymans  <wim@fluendo.com>
12805
12806         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12807         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12808         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12809         (gst_base_sink_event), (gst_base_sink_do_sync),
12810         (gst_base_sink_chain), (gst_base_sink_loop),
12811         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12812         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12813         Refcounting fixes.
12814         Fix logic for returning ASYNC when not prerolled.
12815
12816 2005-07-18  Wim Taymans  <wim@fluendo.com>
12817
12818         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12819         Fix nasty refcount bug.
12820
12821 2005-07-16 Philippe Khalaf <burger@speedy.org>
12822
12823         * gst/elements/gstfdsrc.c:
12824         * gst/elements/gstfdsrc.h:
12825         * gst/elements/gstelements.c:
12826         * gst/elements/Makefile.am:
12827         Ported fdsrc to 0.9.
12828
12829 2005-07-16  Wim Taymans  <wim@fluendo.com>
12830
12831         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12832         (gst_base_sink_do_sync):
12833         Fix compile error.
12834
12835 2005-07-16  Wim Taymans  <wim@fluendo.com>
12836
12837         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12838         (gst_base_sink_event), (gst_base_sink_get_times),
12839         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12840         * gst/base/gstbasesink.h:
12841         Store and use discont values when syncing buffers as described
12842         in design docs.
12843         
12844         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12845         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12846         (gst_base_src_activate_push):
12847         Push discont event when starting.
12848
12849         * gst/elements/gstidentity.c: (gst_identity_transform):
12850         Small cleanups.
12851
12852         * gst/gstbin.c: (gst_bin_change_state):
12853         Small cleanups in base_time  distribution.
12854
12855         * gst/gstelement.c: (gst_element_set_base_time),
12856         (gst_element_get_base_time), (gst_element_change_state):
12857         * gst/gstelement.h:
12858         Added methods for the base_time of the element.
12859         Some MT fixes.
12860
12861         * gst/gstpipeline.c: (gst_pipeline_send_event),
12862         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12863         (gst_pipeline_get_last_stream_time):
12864         * gst/gstpipeline.h:
12865         MT fixes.
12866         Handle seeking as described in design doc, remove stream_time
12867         hack.
12868         Cleanups clock and stream_time selection code. Added accessors
12869         for the stream_time.
12870         
12871
12872 2005-07-16  Andy Wingo  <wingo@pobox.com>
12873
12874         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12875         (#305291).
12876
12877 2005-07-16  Wim Taymans  <wim@fluendo.com>
12878
12879         * check/gst/gstbin.c: (GST_START_TEST):
12880         Make elements silent as the deep_notify refs the
12881         parent, which might make the test fail.
12882
12883         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12884         Don't hold the lock for too long.
12885
12886 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12887
12888         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12889           Don't unref the caps we passed to gst_caps_make_writable() after
12890           passing them. gst_caps_make_writable() will do that for us.
12891
12892 2005-07-15  Andy Wingo  <wingo@pobox.com>
12893
12894         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12895         (#157311).
12896
12897         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12898         own marshalling function for the handoff signal. Properly type the
12899         buffer as a buffer. Fixes some warnings. Should do a more general
12900         solution.
12901         (gst_identity_class_init): Plug into the right marshaller.
12902
12903 2005-07-15  Wim Taymans  <wim@fluendo.com>
12904
12905         * docs/design/part-TODO.txt:
12906         * docs/design/part-clocks.txt:
12907         * docs/design/part-element-sink.txt:
12908         * docs/design/part-events.txt:
12909         * docs/design/part-gstpipeline.txt:
12910         Updated docs, mostly DISCONT related.
12911
12912 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12913
12914         * docs/pwg/building-pads.xml:
12915           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12916
12917 2005-07-15  Andy Wingo  <wingo@pobox.com>
12918
12919         * tools/gst-typefind.c: Update, add copyright block.
12920
12921         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12922         Normalize and truncate caps before fixation.
12923
12924         * gst/gstcaps.h:
12925         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12926         discards all but the first structure from its argument.
12927
12928 2005-07-15  Wim Taymans  <wim@fluendo.com>
12929
12930         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12931         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12932         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12933         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12934         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12935         (gst_base_transform_chain), (gst_base_transform_change_state),
12936         (gst_base_transform_set_passthrough),
12937         (gst_base_transform_is_passthrough):
12938         * gst/base/gstbasetransform.h:
12939         Make passthrough work using the bufferpools.
12940         Changed API a bit, subclasses have to write into a buffer
12941         provided by the base class.
12942         More debug info in nego functions.
12943         
12944         * gst/elements/gstidentity.c: (gst_identity_init),
12945         (gst_identity_transform):
12946         Port to new base class.
12947
12948 2005-07-15  Wim Taymans  <wim@fluendo.com>
12949
12950         * gst/gstmessage.c: (gst_message_new_state_changed):
12951         * tools/gst-launch.c: (event_loop), (main):
12952         Totally dump messages in -launch with the -m option.
12953         Fix message name for State messages,
12954
12955 2005-07-14  Wim Taymans  <wim@fluendo.com>
12956
12957         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12958         Post error messages on errors.
12959
12960 2005-07-14  Wim Taymans  <wim@fluendo.com>
12961
12962         * gst/gstcaps.c: (gst_caps_do_simplify):
12963         Remove debug info.
12964
12965         * gst/gsterror.h:
12966         Define error for stream stopped.
12967
12968         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12969         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12970         Do proper return values.
12971
12972         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12973         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12974         (gst_pad_get_range):
12975         Better return values.
12976
12977         * gst/gstpad.h:
12978         Reorganise return values, add macro to check for fatal errors.
12979
12980         * gst/gstqueue.c: (gst_queue_chain):
12981         Return proper GstFlowReturn values,
12982
12983 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12984
12985         * docs/gst/gstreamer-sections.txt:
12986         * docs/gst/gstreamer.types:
12987         * docs/gst/tmpl/gst.sgml:
12988         * docs/gst/tmpl/gstbasesink.sgml:
12989         * docs/gst/tmpl/gstbasesrc.sgml:
12990         * docs/gst/tmpl/gstbasetransform.sgml:
12991         * docs/gst/tmpl/gstbin.sgml:
12992         * docs/gst/tmpl/gstbuffer.sgml:
12993         * docs/gst/tmpl/gstcaps.sgml:
12994         * docs/gst/tmpl/gstclock.sgml:
12995         * docs/gst/tmpl/gstcompat.sgml:
12996         * docs/gst/tmpl/gstconfig.sgml:
12997         * docs/gst/tmpl/gstelement.sgml:
12998         * docs/gst/tmpl/gstelementdetails.sgml:
12999         * docs/gst/tmpl/gstelementfactory.sgml:
13000         * docs/gst/tmpl/gstenumtypes.sgml:
13001         * docs/gst/tmpl/gsterror.sgml:
13002         * docs/gst/tmpl/gstevent.sgml:
13003         * docs/gst/tmpl/gstfakesink.sgml:
13004         * docs/gst/tmpl/gstfakesrc.sgml:
13005         * docs/gst/tmpl/gstfilesink.sgml:
13006         * docs/gst/tmpl/gstfilesrc.sgml:
13007         * docs/gst/tmpl/gstfilter.sgml:
13008         * docs/gst/tmpl/gstformat.sgml:
13009         * docs/gst/tmpl/gstghostpad.sgml:
13010         * docs/gst/tmpl/gstimplementsinterface.sgml:
13011         * docs/gst/tmpl/gstindex.sgml:
13012         * docs/gst/tmpl/gstindexfactory.sgml:
13013         * docs/gst/tmpl/gstinfo.sgml:
13014         * docs/gst/tmpl/gstiterator.sgml:
13015         * docs/gst/tmpl/gstmacros.sgml:
13016         * docs/gst/tmpl/gstmemchunk.sgml:
13017         * docs/gst/tmpl/gstminiobject.sgml:
13018         * docs/gst/tmpl/gstobject.sgml:
13019         * docs/gst/tmpl/gstpad.sgml:
13020         * docs/gst/tmpl/gstpadtemplate.sgml:
13021         * docs/gst/tmpl/gstparse.sgml:
13022         * docs/gst/tmpl/gstpipeline.sgml:
13023         * docs/gst/tmpl/gstplugin.sgml:
13024         * docs/gst/tmpl/gstpluginfeature.sgml:
13025         * docs/gst/tmpl/gstquery.sgml:
13026         * docs/gst/tmpl/gstqueue.sgml:
13027         * docs/gst/tmpl/gstregistry.sgml:
13028         * docs/gst/tmpl/gstregistrypool.sgml:
13029         * docs/gst/tmpl/gstscheduler.sgml:
13030         * docs/gst/tmpl/gstschedulerfactory.sgml:
13031         * docs/gst/tmpl/gststructure.sgml:
13032         * docs/gst/tmpl/gstsystemclock.sgml:
13033         * docs/gst/tmpl/gsttaglist.sgml:
13034         * docs/gst/tmpl/gsttagsetter.sgml:
13035         * docs/gst/tmpl/gsttrace.sgml:
13036         * docs/gst/tmpl/gsttrashstack.sgml:
13037         * docs/gst/tmpl/gsttypefind.sgml:
13038         * docs/gst/tmpl/gsttypefindfactory.sgml:
13039         * docs/gst/tmpl/gsttypes.sgml:
13040         * docs/gst/tmpl/gsturihandler.sgml:
13041         * docs/gst/tmpl/gsturitype.sgml:
13042         * docs/gst/tmpl/gstutils.sgml:
13043         * docs/gst/tmpl/gstvalue.sgml:
13044         * docs/gst/tmpl/gstversion.sgml:
13045         * docs/gst/tmpl/gstxml.sgml:
13046         * docs/libs/tmpl/gstcontrol.sgml:
13047         * docs/libs/tmpl/gstdataprotocol.sgml:
13048         * docs/libs/tmpl/gstdparam.sgml:
13049         * docs/libs/tmpl/gstdplinint.sgml:
13050         * docs/libs/tmpl/gstdpman.sgml:
13051         * docs/libs/tmpl/gstdpsmooth.sgml:
13052         * docs/libs/tmpl/gstgetbits.sgml:
13053         * docs/libs/tmpl/gstunitconvert.sgml:
13054         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13055         (gst_push_src_base_init), (gst_push_src_class_init),
13056         (gst_push_src_init), (gst_push_src_create):
13057         * gst/base/gstpushsrc.h:
13058         * gst/elements/gstelements.c:
13059         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13060         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13061         (gst_fake_sink_init), (gst_fake_sink_set_property),
13062         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13063         (gst_fake_sink_event), (gst_fake_sink_preroll),
13064         (gst_fake_sink_render), (gst_fake_sink_change_state):
13065         * gst/elements/gstfakesink.h:
13066         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13067         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13068         (gst_fake_src_base_init), (gst_fake_src_class_init),
13069         (gst_fake_src_init), (gst_fake_src_event_handler),
13070         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13071         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13072         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13073         (gst_fake_src_create_buffer), (gst_fake_src_create),
13074         (gst_fake_src_start), (gst_fake_src_stop):
13075         * gst/elements/gstfakesrc.h:
13076         * gst/elements/gstfilesink.c: (_do_init),
13077         (gst_file_sink_base_init), (gst_file_sink_class_init),
13078         (gst_file_sink_init), (gst_file_sink_dispose),
13079         (gst_file_sink_set_location), (gst_file_sink_set_property),
13080         (gst_file_sink_get_property), (gst_file_sink_open_file),
13081         (gst_file_sink_close_file), (gst_file_sink_query),
13082         (gst_file_sink_event), (gst_file_sink_render),
13083         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13084         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13085         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13086         * gst/elements/gstfilesink.h:
13087         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13088         (gst_file_src_class_init), (gst_file_src_init),
13089         (gst_file_src_finalize), (gst_file_src_set_location),
13090         (gst_file_src_set_property), (gst_file_src_get_property),
13091         (gst_file_src_map_region), (gst_file_src_map_small_region),
13092         (gst_file_src_create_mmap), (gst_file_src_create_read),
13093         (gst_file_src_create), (gst_file_src_is_seekable),
13094         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13095         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13096         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13097         (gst_file_src_uri_handler_init):
13098         * gst/elements/gstfilesrc.h:
13099           more autistic cleanliness in functions/names/defines
13100
13101 2005-07-13  Andy Wingo  <wingo@pobox.com>
13102
13103         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13104         source couldn't negotiate.
13105
13106         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13107         connections again.
13108
13109         * gst/gstutils.h:
13110         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13111         function. I am channeling Hades. Put your boots on suckers!!!
13112
13113 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13114
13115         * testsuite/caps/Makefile.am:
13116         * testsuite/caps/value_compare.c:
13117         * testsuite/caps/value_intersect.c:
13118         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13119           move two testsuite apps over to the check dir
13120
13121 2005-07-12  Wim Taymans  <wim@fluendo.com>
13122
13123         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13124         Added more debug info in the negotiate process.
13125
13126         * gst/gstmessage.h:
13127         Prepare for segment playback.
13128
13129         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13130         Better debugging.
13131
13132         * gst/gstutils.c:
13133         Some more docs.
13134
13135         * tools/gst-launch.c: (main):
13136         NULL pipeline on errors.
13137
13138 2005-07-12  Andy Wingo  <wingo@pobox.com>
13139
13140         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13141         not it comes from a malloc region. Make sure our copy gets freed.
13142
13143 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13144
13145         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13146         * check/gst/gstmessage.c: (GST_START_TEST):
13147         * check/gst/gststructure.c: (GST_START_TEST),
13148         (gst_structure_suite), (main):
13149           more testing
13150         * gst/gstelement.c: (gst_element_message_full):
13151           clean up GError and debug string now that they get copied
13152         * gst/gstmessage.c: (gst_message_new_error),
13153         (gst_message_new_warning), (gst_message_parse_error),
13154         (gst_message_parse_warning):
13155           use GST_TYPE_G_ERROR for structure_new, and take copies of
13156           arguments, so that we don't mess up refcounting
13157
13158 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13159
13160         * check/Makefile.am:
13161           add per-test valgrind targets
13162         * check/gst-libs/gdp.c: (GST_START_TEST),
13163         (gst_data_protocol_suite), (main):
13164           clean up
13165
13166 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13167
13168         * check/Makefile.am:
13169           instate more valgrindable tests
13170         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13171         (GST_START_TEST), (fakesrc_suite):
13172         * check/gst/gstpad.c: (GST_START_TEST):
13173         * check/gst/gststructure.c: (GST_START_TEST):
13174           fix test leaks
13175         * docs/gst/tmpl/gstminiobject.sgml:
13176         * gst/gstpad.c: (gst_pad_finalize):
13177           fix the static mutex leak
13178
13179 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13180
13181         * check/Makefile.am:
13182           add two more tests for valgrinding
13183         * check/gst/gstvalue.c: (GST_START_TEST):
13184           test refcount of deserialized buffer, found a leak
13185         * docs/gst/gstreamer-docs.sgml:
13186         * docs/gst/gstreamer-sections.txt:
13187         * docs/gst/gstreamer.types:
13188         * docs/gst/tmpl/gstminiobject.sgml:
13189           add miniobject to docs
13190         * gst/gstminiobject.c:
13191           add some docs
13192         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13193         (gst_string_unwrap):
13194           fix a hard-to-find invalid write for one of the tests
13195           fix a leak for deserialized buffers
13196
13197 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13198
13199         * docs/pwg/advanced-events.xml:
13200         * docs/pwg/advanced-request.xml:
13201         * docs/pwg/advanced-scheduling.xml:
13202         * docs/pwg/appendix-porting.xml:
13203         * docs/pwg/building-boiler.xml:
13204         * docs/pwg/intro-preface.xml:
13205         * docs/pwg/other-ntoone.xml:
13206           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13207           of example code and explanation for pad activation, loop() and
13208           getrange() functions and a bit more. Remove old comments pointing
13209           to loop-functions.
13210         * examples/pwg/Makefile.am:
13211           Add loop/getrange examples.
13212
13213 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13214
13215         * configure.ac:
13216           check for valgrind binary + some fixes
13217         * check/gst.supp:
13218           valgrind suppressions for the tests
13219         * check/Makefile.am:
13220           add a valgrind: target that valgrinds the unit tests
13221         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13222         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13223         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13224         * check/gst/gstghostpad.c:
13225           added some cleanup
13226         * check/gst/gstdata.c:
13227           removed
13228         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13229         (thread_unref), (gst_mini_object_suite), (main):
13230           added
13231         * gst/gst.c: (gst_deinit):
13232         * gst/gst.h:
13233           add a method to clean up.
13234         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13235         (gst_system_clock_obtain):
13236           allow for disposing the system clock.
13237         * tools/gst-launch.c: (main):
13238           deinit
13239
13240 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13241
13242         * docs/gst/tmpl/gstbasesrc.sgml:
13243         * docs/gst/tmpl/gstfakesrc.sgml:
13244         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13245         (gst_base_src_init), (gst_base_src_set_property),
13246         (gst_base_src_get_property), (gst_base_src_get_range),
13247         (gst_base_src_start):
13248         * gst/base/gstbasesrc.h:
13249           add num-buffers property
13250         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13251         (gst_fakesrc_init), (gst_fakesrc_set_property),
13252         (gst_fakesrc_get_property), (gst_fakesrc_create),
13253         (gst_fakesrc_start):
13254           remove num-buffers property
13255
13256 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13257
13258         * docs/gst/gstreamer-sections.txt:
13259         * docs/gst/tmpl/gstbasesink.sgml:
13260         * docs/gst/tmpl/gstbasesrc.sgml:
13261         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13262         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13263         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13264         (gst_base_sink_set_property), (gst_base_sink_get_property),
13265         (gst_base_sink_handle_object), (gst_base_sink_event),
13266         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13267         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13268         (gst_base_sink_loop), (gst_base_sink_deactivate),
13269         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13270         (gst_base_sink_change_state):
13271         * gst/base/gstbasesink.h:
13272         * gst/base/gstbasesrc.h:
13273         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13274         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13275         (gst_filesink_init):
13276           more macro splitting
13277
13278 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13279
13280         * gst/gstelement.c: (gst_element_get_bus):
13281           add debug
13282         * tools/gst-launch.c: (check_intr), (event_loop):
13283           fix bus leaks
13284
13285 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13286
13287         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13288           fix a caps leak
13289
13290 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13291
13292         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13293         (gst_base_src_finalize):
13294           add finalize method and clean up properly
13295         * gst/gstpipeline.c: (gst_pipeline_dispose):
13296           add debug
13297
13298 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13299
13300         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13301         (gst_bin_suite):
13302           add more things to check
13303         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13304         * gst/gstelement.c:
13305           more debug
13306
13307 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13308
13309         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13310         (GST_START_TEST), (fakesrc_suite):
13311         * check/gst-libs/gdp.c: (GST_START_TEST):
13312         * check/gst/gst.c: (GST_START_TEST):
13313         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13314         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13315         * check/gst/gstbus.c: (GST_START_TEST):
13316         * check/gst/gstcaps.c: (GST_START_TEST):
13317         * check/gst/gstdata.c: (GST_START_TEST):
13318         * check/gst/gstelement.c: (GST_START_TEST):
13319         * check/gst/gstghostpad.c: (GST_START_TEST):
13320         * check/gst/gstiterator.c: (GST_START_TEST):
13321         * check/gst/gstmessage.c: (GST_START_TEST):
13322         * check/gst/gstobject.c: (GST_START_TEST):
13323         * check/gst/gstpad.c: (GST_START_TEST):
13324         * check/gst/gststructure.c: (GST_START_TEST):
13325         * check/gst/gstsystemclock.c: (GST_START_TEST),
13326         (gst_systemclock_suite):
13327         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13328         * check/gst/gstvalue.c: (GST_START_TEST):
13329         * check/pipelines/cleanup.c: (GST_START_TEST):
13330         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13331         * check/states/sinks.c: (GST_START_TEST):
13332         * check/gstcheck.c: (gst_check_init):
13333         * check/gstcheck.h:
13334           add debugging category
13335           use GST_START_TEST now, so we add a debug line
13336
13337 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13338
13339         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13340           add test for state change message on a bin
13341         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13342           add another test
13343         * gst/gstbin.c: (gst_bin_init):
13344         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13345         * gst/gstelement.c: (gst_element_post_message),
13346         (gst_element_set_state):
13347         * gst/gstelementfactory.c: (gst_element_factory_create):
13348         * gst/gstmessage.c: (gst_message_new):
13349         * gst/gstscheduler.c:
13350           various debugging additions and cleanups
13351
13352 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * check/Makefile.am:
13355         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13356         (main):
13357           adding tests for elements
13358         * gst/gstelement.c: (gst_element_dispose):
13359
13360 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13361
13362         * gst/registries/gstlibxmlregistry.c: (load_feature):
13363           plug more leaks.  A simple gst_init() now is leakfree, yay.
13364
13365 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13366
13367         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13368         (gst_xml_registry_load):
13369           plug another memleak
13370
13371 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13372
13373         * configure.ac:
13374           use GST_SET_ERROR_CFLAGS
13375         * docs/faq/cvs.xml:
13376           change to ERROR_CFLAGS
13377
13378 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13379
13380         * configure.ac:
13381           make GST_ERROR_CFLAGS overridable and re-enable Werror
13382         * docs/faq/cvs.xml:
13383           add a note about error CFLAGS
13384         * docs/gst/tmpl/gstfakesrc.sgml:
13385         * gst/elements/gstfakesrc.c:
13386           comment out some unused code
13387         * gst/gst.c: (split_and_iterate):
13388         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13389         (load_feature):
13390           plug some memleaks
13391
13392 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13393
13394         * common/Makefile.am:
13395         * common/gtk-doc.mak:
13396         * docs/gst/Makefile.am:
13397           factor out gtk-doc.mak
13398
13399 2005-07-07  Wim Taymans  <wim@fluendo.com>
13400
13401         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13402         (gst_thread_scheduler_dispose):
13403         Unlock the STREAM_LOCK completely.
13404
13405 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13406
13407         * check/Makefile.am:
13408         * check/elements/.cvsignore:
13409         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13410         (START_TEST), (fakesrc_suite), (main):
13411         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13412         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13413         (gst_fakesrc_create), (gst_fakesrc_start):
13414         * gst/elements/gstfakesrc.h:
13415           adding a first element test
13416
13417 2005-07-07  Andy Wingo  <wingo@pobox.com>
13418
13419         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13420         debug message.
13421
13422 2005-07-07  Wim Taymans  <wim@fluendo.com>
13423
13424         * gst/gstquery.c:
13425         * gst/gstquery.h:
13426         Remove old types
13427
13428 2005-07-07  Wim Taymans  <wim@fluendo.com>
13429
13430         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13431         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13432         Allow subclasses to implement their own negotiation.
13433
13434 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13435
13436         * docs/design/part-gstbin.txt:
13437         * docs/design/part-gstpipeline.txt:
13438           Update design notes to reflect the movement of
13439           responsibility for bus handling from GstPipeline to
13440           GstBin
13441
13442 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13443
13444         * configure.ac:
13445           Remove unnecessary queue2/3/4 examples.
13446
13447 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13448
13449         * examples/Makefile.am:
13450         * examples/helloworld/helloworld.c: (event_loop), (main):
13451         * examples/queue/queue.c: (event_loop), (main):
13452         * examples/queue2/queue2.c: (main):
13453           Update a couple of the examples to work again.
13454
13455         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13456         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13457          Spelling corrections and extra debug.
13458         
13459         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13460         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13461         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13462         * gst/gstbin.h:
13463         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13464         (gst_pipeline_change_state):
13465         * gst/gstpipeline.h:
13466           Move the bus handler for children to the GstBin, and create a
13467           separate bus for receiving messages from children to the one the
13468           bus sends 'upwards' on.
13469
13470 2005-07-06  Wim Taymans  <wim@fluendo.com>
13471
13472         * gst/base/README:
13473         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13474         (gst_base_sink_handle_object), (gst_base_sink_loop),
13475         (gst_base_sink_change_state):
13476         * gst/base/gstbasesink.h:
13477         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13478         (gst_base_src_init), (gst_base_src_setcaps),
13479         (gst_base_src_getcaps), (gst_base_src_loop),
13480         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13481         (gst_base_src_start), (gst_base_src_change_state):
13482         * gst/base/gstbasesrc.h:
13483         Make basesrc negotiate.
13484         Handle the case where preroll fails in basesink.
13485         Update README.
13486
13487 2005-07-06  Wim Taymans  <wim@fluendo.com>
13488
13489         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13490         Implement the fixate function.
13491         Clean up acceptcaps.
13492
13493 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13494
13495         * docs/pwg/building-filterfactory.xml:
13496         * docs/pwg/pwg.xml:
13497           Remove never-written filter-factory chapter; I'll add the various
13498           base classes to part 4 ("other element types") later on.
13499
13500 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13501
13502         * docs/pwg/advanced-negotiation.xml:
13503         * docs/pwg/building-boiler.xml:
13504         * docs/pwg/building-pads.xml:
13505         * docs/pwg/pwg.xml:
13506         * examples/pwg/Makefile.am:
13507           Add a chapter on caps negotiation, simplify the original code
13508           samples a bit w.r.t. caps negotiation, add link to the advanced
13509           section. Add a bunch of examples showing different use cases of
13510           different types of caps negotiation. Upstream renegotiation isn't
13511           fully documented yet since nobody knows how that works.
13512
13513 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13514
13515         * check/gst/gstpad.c:
13516         * check/gstcheck.c:
13517         * gst/gstpad.c: (gst_pad_get_internal_links_default):
13518           if pad has no parent, return NULL as list of internal links
13519
13520 2005-07-05  Andy Wingo  <wingo@pobox.com>
13521
13522         * gst/elements/gstfilesrc.c:
13523         * gst/elements/gstfakesrc.c: 
13524         * gst/base/gstpushsrc.c:
13525         * gst/base/gstbasesrc.h: 
13526         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
13527         
13528 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
13529
13530         * Makefile.am:
13531           better report generation target (lcov needs a patch)
13532
13533 2005-07-05  Andy Wingo  <wingo@pobox.com>
13534
13535         * gst/elements, testsuite: Null if we got it...
13536
13537 2005-07-05  Wim Taymans  <wim@fluendo.com>
13538
13539         * configure.ac:
13540         * libs/gst/dataprotocol/Makefile.am:
13541         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
13542         * libs/gst/dataprotocol/dataprotocol.h:
13543         * pkgconfig/Makefile.am:
13544         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
13545         * pkgconfig/gstreamer-dataprotocol.pc.in:
13546         Ported dataprotol to 0.9. 
13547         Added pkgconfig files.
13548
13549 2005-07-05  Andy Wingo  <wingo@pobox.com>
13550
13551         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
13552         Default to returning TRUE for the case when tranform_caps returns
13553         a fixed caps, like for identity or volume.
13554
13555         * check/gst/gstbus.c (pound_bus_with_messages): 
13556         * check/gst/gstmessage.c (START_TEST): 
13557         * check/pipelines/simple_launch_lines.c (got_handoff): Application
13558         message API change.
13559
13560         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
13561         logic weaks here: always run transform_caps, trying passthrough
13562         operation only if the original caps intersects with the transform.
13563
13564         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
13565         source and sink caps.
13566
13567         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
13568         Intersect the peer caps with the pad template before going into
13569         transform_caps.
13570         (gst_base_transform_transform_caps): More debugging.
13571
13572         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
13573         src argument.
13574
13575 2005-07-04  Edward Hervey  <edward@fluendo.com>
13576
13577         * gst/gstutils.c:
13578         * gst/gstutils.h:
13579         (gst_pad_add_*_probe): now returns the signal id for better wrapping
13580         in bindings.
13581
13582 2005-07-04  Andy Wingo  <wingo@pobox.com>
13583
13584         * check/gst/gstpad.c: Only set explicit caps on pads.
13585
13586 2005-07-01  Andy Wingo  <wingo@pobox.com>
13587
13588         * tests/network-clock.scm: Commentary update.
13589
13590         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
13591         Didn't really make sense, not implementable with basetransform,
13592         etc.
13593         (gst_identity_transform): Unref inbuf via make_writable. Feeble
13594         attempt at implementing the sync property, needs an unlock method.
13595
13596         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
13597         New func, by default returns the same caps (the identity
13598         transformation).
13599         (gst_base_transform_getcaps): Uses transform_caps to return
13600         something sensible.
13601         (gst_base_transform_setcaps): Complicated logic to get caps on
13602         both pads, even if they are different, and to call set_caps once
13603         for every time both pads get their caps set.
13604         (gst_base_transform_handle_buffer): Give the ref to the transform
13605         function. Allows in-place modification of the buffer.
13606
13607         * gst/base/gstbasetransform.h (transform_caps): New class method.
13608         Given caps on one side, what can I do on the other.
13609         (set_caps): Take two caps, one for each side of the element.
13610
13611         * gst/gstpad.h:
13612         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
13613         caps in place. This is safe because we can check the mutability of
13614         the caps, and a good idea because fixate functions are just called
13615         as a matter of last resort. (Not actually implemented.)
13616         (gst_pad_set_caps): If the caps we're setting is actually the same
13617         as the existing pad caps, just update the pointer without calling
13618         setcaps. Assert that caps is either NULL or fixed, as per the
13619         docs.
13620
13621         * gst/gstghostpad.c: Update for fixate changes.
13622
13623 2005-07-02  Andy Wingo  <wingo@pobox.com>
13624
13625         * gst/gstcaps.c:
13626         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
13627         two refcounts makes it immutable, which is enough. Doc more.
13628
13629 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
13630
13631         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
13632           Put the mini_object into GValue as a mini_object,
13633           not a gpointer, since that's how we declared
13634           the signal.
13635
13636 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13637
13638         * examples/pwg/Makefile.am:
13639           Fix buildbot again.
13640
13641 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13642
13643         * docs/pwg/building-testapp.xml:
13644           Add extra check.
13645         * examples/pwg/Makefile.am:
13646           Fix buildbot.
13647
13648 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13649
13650         * configure.ac:
13651         * examples/Makefile.am:
13652         * examples/pwg/Makefile.am:
13653         * examples/pwg/extract.pl:
13654           Enable building the PWG examples.
13655         * docs/pwg/advanced-interfaces.xml:
13656           Add URI interface stub.
13657         * docs/pwg/advanced-types.xml:
13658         * docs/pwg/other-autoplugger.xml:
13659         * docs/pwg/appendix-porting.xml:
13660         * docs/pwg/pwg.xml:
13661           Add porting guide (mostly stubs), remove autoplugging (see ADM).
13662         * docs/pwg/building-boiler.xml:
13663         * docs/pwg/building-chainfn.xml:
13664         * docs/pwg/building-pads.xml:
13665         * docs/pwg/building-props.xml:
13666         * docs/pwg/building-state.xml:
13667         * docs/pwg/building-testapp.xml:
13668           Update the building-*.xml parts for 0.9 changes. All examples
13669           code blocks compile in examples/pwg/*.
13670
13671 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13672
13673         * docs/manual/advanced-autoplugging.xml:
13674         * docs/manual/appendix-checklist.xml:
13675         * docs/manual/appendix-integration.xml:
13676         * docs/manual/highlevel-components.xml:
13677           Fix playbin/decodebin examples, update docs a bit, mention bus
13678           instead of signals in various places, mention kmplayer and
13679           kaffeine since they have a working GStreamer backend in the KDE
13680           section.
13681
13682 2005-06-30  Wim Taymans  <wim@fluendo.com>
13683
13684         * CHANGES-0.9:
13685         * docs/design/draft-ghostpads.txt:
13686         * docs/design/draft-push-pull.txt:
13687         * docs/design/draft-query.txt:
13688         * docs/design/part-TODO.txt:
13689         * docs/design/part-query.txt:
13690         Added CHANGES-0.9 doc, updated status of other docs.
13691         
13692         * gst/gstquery.h:
13693         Remove "hmm" macro
13694
13695 2005-06-30  Wim Taymans  <wim@fluendo.com>
13696
13697         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13698         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13699         (gst_base_sink_change_state):
13700         * gst/base/gstbasesink.h:
13701         Some tweaks, only EOS and a buffer complete a preroll.
13702
13703 2005-06-30  Andy Wingo  <wingo@pobox.com>
13704
13705         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
13706         activate_push down to the internal pad as well.
13707
13708 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
13709
13710         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13711
13712         * gst/gsttaginterface.c:
13713           Some documentation fixes (#307394 and #307397).
13714
13715 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
13716
13717         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13718
13719         * gst/gstvalue.c: (gst_value_intersect_list):
13720           Fix memleak (#309125).
13721
13722 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13723
13724         * docs/manual/advanced-dataaccess.xml:
13725           Fix fakesrc example to compile; doesn't work, bug somewhere...?
13726         * docs/manual/basics-pads.xml:
13727           Add reference for filtered caps to above chapter.
13728
13729 2005-06-30  Wim Taymans  <wim@fluendo.com>
13730
13731         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13732         (gst_bin_change_state):
13733         Probes are gone.
13734         Lame attempt at making the state change function a bit
13735         more readable.
13736
13737 2005-06-30  Wim Taymans  <wim@fluendo.com>
13738
13739         * docs/design/part-clocks.txt:
13740         * docs/design/part-element-sink.txt:
13741         * docs/design/part-events.txt:
13742         * docs/design/part-preroll.txt:
13743         * docs/design/part-states.txt:
13744         Some more tweeks and additions to the docs.
13745
13746 2005-06-30  Wim Taymans  <wim@fluendo.com>
13747
13748         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13749         (default_have_data), (gst_pad_class_init), (gst_pad_init),
13750         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13751         (gst_pad_check_pull_range), (gst_pad_get_range),
13752         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13753         * gst/gstpad.h:
13754         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13755         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13756         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13757         (gst_pad_remove_buffer_probe):
13758         Removed atomic operations, use existing LOCK.
13759         Move exception handling out of main code path.
13760
13761 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13762
13763         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13764         (silly_return_true_function), (gst_pad_class_init),
13765         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13766         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13767         (gst_pad_send_event):
13768           Fix accumulator, add default value by using _emitv() instead
13769           of _emit() for signal emission.
13770
13771 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13772
13773         * docs/manual/advanced-dataaccess.xml:
13774         * examples/manual/Makefile.am:
13775           Add probe example.
13776         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13777           Make work (??).
13778
13779 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
13780
13781         * gst/elements/gstfilesink.c: (gst_filesink_render):
13782           Simplify code so that we don't have to handle short
13783           writes and return GST_FLOW_ERROR if an error occured.
13784
13785 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13786
13787         * docs/gst/gstreamer-docs.sgml:
13788           Remove probes more.
13789
13790 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13791
13792         * docs/gst/gstreamer-sections.txt:
13793         * docs/gst/tmpl/gstpad.sgml:
13794         * docs/gst/tmpl/gstprobe.sgml:
13795         * gst/Makefile.am:
13796         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13797         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13798         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13799         (gst_pad_push_event), (gst_pad_send_event):
13800         * gst/gstpad.h:
13801         * gst/gstutils.c: (gst_pad_add_data_probe),
13802         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13803         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13804         (gst_pad_remove_buffer_probe):
13805         * gst/gstutils.h:
13806           Remove old probes, add new g-signal-based probes and some utility
13807           functions.
13808
13809 2005-06-29  Edward Hervey  <edward@fluendo.com>
13810
13811         * gst/gstelementfactory.c:
13812         * gst/gstutils.h:
13813         * gst/gstutils.c:
13814         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13815         the definition to the header file.
13816
13817 2005-06-29  Andy Wingo  <wingo@pobox.com>
13818
13819         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13820         plugins from the source directory.
13821
13822 2005-06-29  Wim Taymans  <wim@fluendo.com>
13823
13824         * docs/gst/tmpl/gstbuffer.sgml:
13825         * docs/gst/tmpl/gstclock.sgml:
13826         Some fixings for blantently wrong text.
13827
13828 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13829
13830         * check/Makefile.am:
13831         * gst/gst.c: (add_path_func), (init_pre):
13832         * gst/gstregistry.c: (gst_registry_add_path):
13833           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13834           only scan the GST_PLUGIN_PATH locations, and not add
13835           system locations
13836
13837 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13838
13839         * docs/gst/gstreamer-sections.txt:
13840         * docs/gst/tmpl/gstbasesrc.sgml:
13841         * gst/gstelement.c:
13842         * gst/gstelement.h:
13843         * gst/gstevent.c:
13844         * gst/gstutils.c:
13845           doc fixes
13846
13847 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13848
13849         * docs/manual/advanced-autoplugging.xml:
13850           Fix autoplugging example.
13851
13852 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13853
13854         * docs/manual/advanced-autoplugging.xml:
13855         * docs/manual/mime-world.fig:
13856           Try to get autoplugging working, fix type detection. Fix text
13857           in hello-world image.
13858
13859 2005-06-29  Wim Taymans  <wim@fluendo.com>
13860
13861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13862         (gst_base_sink_change_state):
13863         Small debug line.
13864
13865         * gst/gstclock.h:
13866         map SIGNAL and BROADCAST to the right function.
13867
13868         * gst/gstobject.h:
13869         Remove redundant braces.
13870
13871         * gst/gstpad.c: (gst_pad_set_caps):
13872         Don't call setcaps function when reseting caps to NULL.
13873
13874         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13875         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13876         (gst_system_clock_id_unschedule):
13877         Use BROADCAST as this is what we do.
13878
13879 2005-06-29  Wim Taymans  <wim@fluendo.com>
13880
13881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13882         We are actually prerolling before commiting the state
13883         change. 
13884
13885 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13886
13887         * docs/manual/advanced-clocks.xml:
13888         * docs/manual/advanced-interfaces.xml:
13889         * docs/manual/advanced-metadata.xml:
13890         * docs/manual/advanced-position.xml:
13891         * docs/manual/advanced-schedulers.xml:
13892         * docs/manual/advanced-threads.xml:
13893         * docs/manual/appendix-porting.xml:
13894         * docs/manual/basics-bins.xml:
13895         * docs/manual/basics-bus.xml:
13896         * docs/manual/basics-elements.xml:
13897         * docs/manual/basics-helloworld.xml:
13898         * docs/manual/basics-pads.xml:
13899         * docs/manual/highlevel-components.xml:
13900         * docs/manual/manual.xml:
13901         * docs/manual/thread.fig:
13902           Update (until threads/scheduling) Application Development Manual;
13903           remove GstThread, add GstBus, add simple porting checklist, add
13904           documentation for tag writing, clocks, make all examples until this
13905           part compile and run.
13906         * examples/manual/Makefile.am:
13907           Update from changes to Application Development Manual; add bus
13908           example, remove thread example.
13909
13910 2005-06-28  Wim Taymans  <wim@fluendo.com>
13911
13912         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13913         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13914         (gst_bus_source_dispatch):
13915         Add debugging messages.
13916         Make internal methods static.
13917         Handle the case where the bus is flushed in the handler.
13918         
13919         * gst/gstelement.c: (gst_element_get_bus):
13920         Fix refcount in _get_bus();
13921
13922         * gst/gstpipeline.c: (gst_pipeline_change_state),
13923         (gst_pipeline_get_clock_func):
13924         Clock refcounting fixes.
13925         Handle the case where preroll timed out more gracefully.
13926         
13927         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13928         Clean up the internal thread in dispose. This is needed
13929         for subclasses that actually get disposed.
13930         
13931         * gst/schedulers/threadscheduler.c:
13932         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13933         (gst_thread_scheduler_dispose):
13934         Free thread pool in dispose.
13935
13936 2005-06-28  Andy Wingo  <wingo@pobox.com>
13937
13938         * tests/network-clock-utils.scm (debug, print-event): New utils.
13939
13940         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13941         (*packet-loss*): Unified loss probability.
13942         (network-time): Report out-of-band events.
13943
13944         * tests/plot-data: Add support for out-of-band events. Hack it
13945         into this script instead of passing it down the pipe; should fix
13946         this later.
13947
13948 2005-06-28  Wim Taymans  <wim@fluendo.com>
13949
13950         * docs/gst/gstreamer.types:
13951         * docs/gst/tmpl/gstbasesrc.sgml:
13952         * docs/gst/tmpl/gstpad.sgml:
13953         Docs fixes.
13954
13955 2005-06-28  Wim Taymans  <wim@fluendo.com>
13956
13957         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13958         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13959         (gst_proxy_pad_do_fixatecaps):
13960         Correctly proxy the check_pull_range function.
13961
13962 2005-06-28  Andy Wingo  <wingo@pobox.com>
13963
13964         * tests/network-clock.scm: Removed need for slib.
13965         
13966 2005-06-28  Wim Taymans  <wim@fluendo.com>
13967
13968         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13969         (gst_basesink_preroll_queue_flush):
13970         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13971         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13972         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13973         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13974         (gst_proxy_pad_set_property):
13975         * gst/gstpad.c:
13976         * gst/gstpad.h:
13977         * gst/gstqueue.c: (gst_queue_init):
13978         The deprecated pad loop function is removed now.
13979
13980 2005-06-28  Andy Wingo  <wingo@pobox.com>
13981
13982         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13983         New parameters, simulate network packet loss.
13984
13985         * tests/network-clock-utils.scm: Initialize the RNG.
13986
13987 2005-06-28  Wim Taymans  <wim@fluendo.com>
13988
13989         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13990         (gst_basesink_event), (gst_basesink_deactivate):
13991         Flushing the preroll queue always needs to unlock the waiters.
13992
13993 2005-06-28  Edward Hervey  <edward@fluendo.com>
13994
13995         * gst/gstpipeline.c: (gst_pipeline_send_event): 
13996         Wheen a seek was successful on a pipeline, set the stream_time to the
13997         seek offset in order to have a synchronized stream_time.
13998
13999 2005-06-28  Wim Taymans  <wim@fluendo.com>
14000
14001         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14002         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14003         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14004         (gst_proxy_pad_do_fixatecaps):
14005         Call wrapper function instead of just calling the function
14006         pointers. This takes care of any locking and whatmore.
14007
14008 2005-06-28  Wim Taymans  <wim@fluendo.com>
14009
14010         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14011         (gst_pad_pull_range):
14012         * gst/gstpad.h:
14013         CONNECTED -> LINKED.
14014
14015 2005-06-28  Andy Wingo  <wingo@pobox.com>
14016
14017         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14018         source-munging commit!!!
14019
14020         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14021         (gst_object_sink): Take gpointer arguments, not GstObject --
14022         avoids casts. Like GLib.
14023
14024         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14025         activate.
14026
14027 2005-06-27  Andy Wingo  <wingo@pobox.com>
14028
14029         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14030         remaining buffer.
14031
14032         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14033         returns a sorted copy of the trace list.
14034         (gst_alloc_trace_print_live): New API, only prints traces with
14035         live objects. Sort the list.
14036         (gst_alloc_trace_print_all): Sort the list.
14037         (gst_alloc_trace_print): Align columns.
14038
14039         * gst/elements/gstttypefindelement.c:
14040         * gst/elements/gsttee.c:
14041         * gst/base/gstbasesrc.c:
14042         * gst/base/gstbasesink.c:
14043         * gst/base/gstbasetransform.c:
14044         * gst/gstqueue.c: Adapt for pad activation changes.
14045
14046         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14047         sched.
14048         (gst_pipeline_dispose): Drop ref on sched.
14049
14050         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14051         (gst_pad_activate_default): Push mode by default.
14052         (pre_activate_switch, post_activate_switch): New stubs, things to
14053         do before and after switching activation modes on pads.
14054         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14055         the pad's activate function to choose which mode to activate.
14056         Shortcut on deactivation and call the right function directly.
14057         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14058         mode.
14059         (gst_pad_activate_push): New API, same for push mode.
14060         (gst_pad_set_activate_function) 
14061         (gst_pad_set_activatepull_function) 
14062         (gst_pad_set_activatepush_function): Setters for new API.
14063
14064         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14065         Trace all miniobjects.
14066         (gst_mini_object_make_writable): Unref the arg if we copy, like
14067         gst_caps_make_writable.
14068
14069         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14070
14071         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14072         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14073         Adapt for new pad API.
14074
14075         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14076
14077         * gst/gstelement.h:
14078         * gst/gstelement.c (gst_element_iterate_src_pads) 
14079         (gst_element_iterate_sink_pads): New API functions.
14080         
14081         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14082         should fold into gstiterator.c in some form.
14083         (gst_element_pads_activate): Simplified via use of fold and
14084         delegation of decisions to gstpad->activate.
14085
14086         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14087         help in debugging.
14088
14089         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14090         class once in init, like gstmessage. Didn't run into this issue
14091         but it seems correct. Don't initialize a trace, gstminiobject does
14092         that.
14093
14094         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14095         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14096         to the bus.
14097         (assert_live_count): New util function, uses alloc traces to check
14098         cleanup.
14099
14100         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14101         To be modified when unlink drops the internal pad.
14102
14103 2005-06-27  Wim Taymans  <wim@fluendo.com>
14104
14105         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14106         (gst_bin_change_state):
14107         Cleanup the get_state() function a little, make sure it
14108         iterates the same set of elements.
14109         Added stub iterate_state_order().
14110
14111 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14112
14113         * docs/gst/gstreamer-docs.sgml:
14114         * docs/gst/gstreamer-sections.txt:
14115         * docs/gst/gstreamer.types:
14116         * docs/gst/tmpl/gstbasesink.sgml:
14117         * docs/gst/tmpl/gstbasesrc.sgml:
14118         * docs/gst/tmpl/gstbasetransform.sgml:
14119         * docs/gst/tmpl/gstelement.sgml:
14120         * docs/gst/tmpl/gstiterator.sgml:
14121         * gst/base/gstbasesrc.c:
14122         * gst/base/gstbasesrc.h:
14123         * gst/base/gstbasetransform.h:
14124         * gst/gstelement.c:
14125         * gst/gstiterator.h:
14126           adding basetransform and iterator docs
14127
14128 2005-06-27  Andy Wingo  <wingo@pobox.com>
14129
14130         * docs/design/part-activation.txt: Notes on how activation should
14131         work -- not quite implemented yet.
14132
14133 2005-06-25  Wim Taymans  <wim@fluendo.com>
14134
14135         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14136         At least get the chain function correct, needs more
14137         fixing.
14138
14139 2005-06-25  Wim Taymans  <wim@fluendo.com>
14140
14141         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14142         (gst_basesink_handle_object), (gst_basesink_event),
14143         (gst_basesink_do_sync), (gst_basesink_handle_event),
14144         (gst_basesink_change_state):
14145         * gst/gsttask.h:
14146         Right, two problems here: ghostpads don't take locks and
14147         glib _rec_mutex_lock_full() with depth==0 still locks.
14148         Catch illegal locking and g_warn them.
14149
14150 2005-06-25  Wim Taymans  <wim@fluendo.com>
14151
14152         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14153         Have to check for completion now...
14154
14155 2005-06-25  Wim Taymans  <wim@fluendo.com>
14156
14157         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14158         (gst_basesink_handle_object), (gst_basesink_event),
14159         (gst_basesink_do_sync), (gst_basesink_handle_event),
14160         (gst_basesink_change_state):
14161         * gst/gstpad.h:
14162         Unlock STREAM_LOCK whatever the recursion was.
14163
14164 2005-06-25  Wim Taymans  <wim@fluendo.com>
14165
14166         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14167         (gst_basesink_preroll_queue_empty),
14168         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14169         (gst_basesink_event), (gst_basesink_do_sync),
14170         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14171         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14172         (gst_basesink_change_state):
14173         Reworked the base sink, handle event and buffer serialisation
14174         correctly and removed possible deadlock.
14175         Handle EOS correctly.
14176
14177 2005-06-25  Wim Taymans  <wim@fluendo.com>
14178
14179         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14180         (gst_pipeline_change_state):
14181         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14182         Allow elements to post EOS in the state change function.
14183         Fix up -launch, make it exit the poll loop when the
14184         pipeline actually changed state.
14185         Fix up warning parsing in -launch.
14186
14187 2005-06-25  Wim Taymans  <wim@fluendo.com>
14188
14189         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14190         (gst_tee_sink_activate):
14191         Core takes STREAM_LOCK for us now.
14192
14193 2005-06-25  Wim Taymans  <wim@fluendo.com>
14194
14195         * gst/gstelement.c: (gst_element_get_state_func),
14196         (gst_element_set_state):
14197         * gst/gstelement.h:
14198         * gst/gstmessage.c: (gst_message_parse_error),
14199         (gst_message_parse_warning):
14200         Keep track of current target state while performing a state
14201         change so that subclasses can do something interesting.
14202         Fix parsing of warning/error messages when GError is NULL.
14203
14204 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14205
14206         * docs/gst/Makefile.am:
14207         * docs/gst/gstreamer-docs.sgml:
14208         * docs/gst/gstreamer-sections.txt:
14209         * docs/gst/gstreamer.types:
14210         * docs/gst/tmpl/gstbasesink.sgml:
14211         * docs/gst/tmpl/gstbasesrc.sgml:
14212         * docs/gst/tmpl/gstbin.sgml:
14213         * docs/gst/tmpl/gstcompat.sgml:
14214         * docs/gst/tmpl/gstfakesink.sgml:
14215         * docs/gst/tmpl/gstfakesrc.sgml:
14216         * docs/gst/tmpl/gstfilesink.sgml:
14217         * docs/gst/tmpl/gstfilesrc.sgml:
14218         * docs/gst/tmpl/gstindex.sgml:
14219         * docs/manual/appendix-quotes.xml:
14220         * gst/base/gstbasesrc.h:
14221         * gst/elements/gstfakesrc.h:
14222         * gst/gstmessage.h:
14223           start pulling in base classes and elements in our docs
14224
14225 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14226
14227         * docs/gst/Makefile.am:
14228         * docs/libs/Makefile.am:
14229           fixed make distcheck with gtk-doc 1.3
14230
14231 2005-06-23  Wim Taymans  <wim@fluendo.com>
14232
14233         * gst/gstelement.c: (gst_element_get_state_func),
14234         (gst_element_set_state), (gst_element_change_state):
14235         When the state did not change, also report NO_PREROLL
14236         when it matters.
14237
14238 2005-06-23  Wim Taymans  <wim@fluendo.com>
14239
14240         * gst/gstpad.c: (gst_pad_event_default):
14241         * gst/gstqueue.c: (gst_queue_loop):
14242         No unsafe task pausing please.
14243
14244 2005-06-23  Wim Taymans  <wim@fluendo.com>
14245
14246         * gst/schedulers/threadscheduler.c:
14247         (gst_thread_scheduler_task_start),
14248         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14249         Ref the task before pushing it on the threadpool. This
14250         makes sure that we have a ref when the threadfunction is
14251         actually called.
14252
14253 2005-06-23  Andy Wingo  <wingo@pobox.com>
14254
14255         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14256         offset is greater than the file's size.
14257
14258         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14259         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14260         * gst/gstobject.c (gst_object_class_init): Make the class lock
14261         recursive. Wim won't let me drop deep_notify. Decodebin works
14262         again, whoopdy doo.
14263
14264         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14265         internal pad, and hacks accordingly. Doesn't do it on the target
14266         pad because we change its caps. Probably catches all cases of
14267         interest tho.
14268         (gst_ghost_pad_set_property): Connect to notify::caps as
14269         appropritate.
14270
14271         * tests/network-clock.scm (plot-simulation): Pipe data to the
14272         elite python skript.
14273
14274         * tests/network-clock-utils.scm (define-parameter): New macro,
14275         defines a parameter that can be set via the command line.
14276         (set-parameter!, parse-parameter-arguments): Command line args
14277         parser.
14278
14279         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14280         stdin.
14281
14282 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14283
14284         * gst/elements/gsttypefindelement.c:
14285         (gst_type_find_element_handle_event):
14286           Don't restart typefinding on a discont.
14287         * gst/gstelement.c: (gst_element_set_state):
14288           Debug spelling fix.
14289         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14290           Allow changing mode of an active pad.
14291           Debug output fixes.
14292         * gst/registries/gstlibxmlregistry.c: (load_feature):
14293           Don't cast a static pad template to a normal pad template.
14294
14295 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14296
14297         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14298         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14299           remove gst_strtoll completely, since it didn't actually do
14300           anything more than what g_ascii_strtoull already does.
14301           check for range errors when deserializing
14302           do a cast for the unsigned cases; but further fixing needs
14303           a decision on what the interpretation of "(int)" and
14304           deserialization should be for values that fall outside the
14305           type's boundaries (ie, refuse, or interpret as casting)
14306
14307 2005-06-23  Wim Taymans  <wim@fluendo.com>
14308
14309         * check/Makefile.am:
14310         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14311         * docs/design/part-live-source.txt:
14312         * docs/design/part-states.txt:
14313         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14314         (gst_basesrc_set_live), (gst_basesrc_is_live),
14315         (gst_basesrc_get_range), (gst_basesrc_activate),
14316         (gst_basesrc_change_state):
14317         * gst/base/gstbasesrc.h:
14318         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14319         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14320         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14321         * gst/gstelement.c: (gst_element_get_state_func),
14322         (gst_element_set_state):
14323         * gst/gstelement.h:
14324         * gst/gsttypes.h:
14325         * tools/gst-launch.c: (event_loop), (main):
14326         Added support for live sources and other elements that
14327         cannot do preroll.
14328         Updated design docs, added live-source design doc.
14329         Implemented live source functionality in basesrc
14330         Fix error condition in _bin_get_state()
14331         Implement live source handling in -launch.
14332         Added check for live sources.
14333         Fixed case in GstBin where elements were changed state
14334         multiple times.
14335
14336
14337 2005-06-23  Andy Wingo  <wingo@pobox.com>
14338
14339         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14340         borken refcounting.
14341
14342         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14343         gst_caps_replace takes care of this for us.
14344
14345         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14346         gst_pad_set_caps on the target, not just its setcaps() function.
14347
14348         * tests/network-clock.scm: 
14349         * tests/network-clock-utils.scm: A network clock simulator.
14350         Something of an algorithmic testbed before doing something in C.
14351
14352 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14353
14354         * check/Makefile.am:
14355         * check/gst/capslist.h:
14356           copy over from 0.8, and add two with bitmasks specified with
14357           (int) 0xFF...
14358         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14359           add test to parse everything from capslist.h
14360         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14361         (main):
14362           add test for structure deserialization
14363         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14364           add tests for deserialization of strings to int types
14365         * gst/gststructure.c: (gst_structure_nth_field_name):
14366         * gst/gststructure.h:
14367           add a way to get the name of a field referenced by index
14368         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14369           instead of checking if the resulting long long lies between
14370           min and max, we check if the long long would fit into
14371           a number of bytes for the final type.
14372           This fixes cases where a string represents 2^32 - 1, which
14373           when cast to int would be the (valid) -1, but is bigger than
14374           G_MAXINT
14375
14376 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14377
14378         * gst/parse/grammar.y:
14379           add a log line for type deserialization
14380
14381 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14382
14383         * check/gst/gstvalue.c: (START_TEST):
14384         * gst/gstvalue.c: (gst_value_deserialize):
14385           return long long, not int, so gint64 deserialization actually
14386           works.  Is there any flag that makes the compiler check this ?
14387           Fixes #308559
14388
14389 2005-06-22  Wim Taymans  <wim@fluendo.com>
14390
14391         * gst/gstbuffer.h:
14392         Added convenience macros for setting buffers in GValue.
14393
14394 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14395
14396         * check/gst/.cvsignore:
14397         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14398           add a test deserializing int64, and comment part out because
14399           it fails, yay !
14400
14401 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14402
14403         * check/Makefile.am:
14404         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14405         * testsuite/Makefile.am:
14406         * testsuite/caps/Makefile.am:
14407         * testsuite/caps/value_serialize.c:
14408         * testsuite/test_gst_init.c:
14409           move a value_serialize test over
14410
14411 2005-06-20  Wim Taymans  <wim@fluendo.com>
14412
14413         * gst/gstpad.c:
14414         Small doc updates.
14415         
14416         * gst/gstvalue.c: (gst_value_compare_buffer),
14417         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14418         (gst_value_compare_flags), (gst_value_serialize_flags),
14419         (gst_value_deserialize_flags), (_gst_value_initialize):
14420         Fix serialisation of buffers, they are not boxed types anymore
14421
14422 2005-06-20  Wim Taymans  <wim@fluendo.com>
14423
14424         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14425         Testcase to show error in buffer-on-caps serialisation.
14426
14427 2005-06-20  Andy Wingo  <wingo@pobox.com>
14428
14429         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14430         will be adding to later.
14431
14432         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14433         if its socks fill with rocks.
14434         (gst_system_clock_obtain): Set the name on object construction.
14435         Avoid double-checked locking.
14436
14437 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14438
14439         * gst/gsturi.c: (gst_element_make_from_uri):
14440           Fix potential endless loop.
14441
14442 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14443
14444         * check/Makefile.am:
14445           add gsttag
14446         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14447         (main):
14448           move over from testsuite dir and clean up
14449         * configure.ac:
14450         * gst/gsttag.c:
14451         * testsuite/Makefile.am:
14452         * testsuite/tags/.cvsignore:
14453         * testsuite/tags/Makefile.am:
14454         * testsuite/tags/merge.c:
14455           remove testsuite/tags
14456
14457 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14458
14459         * docs/gst/gstreamer-sections.txt:
14460         * docs/gst/tmpl/gstenumtypes.sgml:
14461         * win32/gstenumtypes.c:
14462           clean up documentation build a little
14463
14464 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14465
14466         * check/gstcheck.h:
14467           add macros for checking refcounts on objects and caps
14468         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14469           add some more unit tests
14470         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14471         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14472           fix leaked refcounts (I hope :)) so unittest works
14473         * gst/gstpad.h:
14474           whitespace removal
14475
14476 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14477
14478         * configure.ac: back to HEAD
14479
14480 === release 0.9.1 ===
14481
14482 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14483
14484         * NEWS:
14485         * RELEASE:
14486           updated
14487
14488 2005-06-17  Andy Wingo  <wingo@pobox.com>
14489
14490         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14491         assert; it's always possible that the pad gets deactivated in
14492         between the checks in gstpad.c and the implementation. Rely on
14493         finish_preroll() to return a FLUSHING or similar instead of on the
14494         assert.
14495         
14496         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14497         clock and post an EOS message if we come out of finish_preroll in
14498         the playing state.
14499
14500 2005-06-16  David Schleef  <ds@schleef.org>
14501
14502         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14503         (gst_capsfilter_set_property): Allow NULL as possible value
14504         for filter_caps property, indicating GST_CAPS_ANY.
14505
14506 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14507
14508         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14509           fix debug output
14510         * gst/schedulers/Makefile.am:
14511           use libgst prefix
14512         * gstreamer.spec.in:
14513           fix spec for it
14514
14515 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14516
14517         * gstreamer.spec.in:
14518           clean up
14519
14520 2005-06-08  Andy Wingo  <wingo@pobox.com>
14521
14522         * gst/gstutils.c: RPAD fixes all around.
14523         (gst_element_link_pads): Refcounting fixes.
14524
14525         * tools/gst-inspect.c:
14526         * tools/gst-xmlinspect.c:
14527         * parse/grammar.y:
14528         * gst/base/gsttypefindhelper.c:
14529         * gst/base/gstbasesink.c:
14530         * gst/gstqueue.c: RPAD fixes.
14531
14532         * gst/gstghostpad.h:
14533         * gst/gstghostpad.c: New ghost pad implementation as full proxy
14534         pads. The tricky thing is they provide both source and sink
14535         interfaces, since they proxy the internal pad for the external
14536         pad, and vice versa. Implement with lower-level ProxyPad objects,
14537         with the interior proxy pad as a child of the exterior ghost pad.
14538         Should write a doc on this.
14539         
14540         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
14541         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
14542         gst_object API.
14543         
14544         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
14545         pads are real pads. No ghost pads in this file. Not documenting
14546         the myriad s/RPAD/PAD/ and REALIZE fixes.
14547         (gst_pad_class_init): Add properties for "direction" and
14548         "template". Both are construct-only, so they can't change during
14549         the life of the pad. Fixes properly deriving from GstPad.
14550         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
14551         derived objects, just set properties when creating the objects via
14552         g_object_new.
14553         (gst_pad_get_parent): Implement as a function, return NULL if the
14554         parent is not an element.
14555         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
14556         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
14557         
14558         * gst/gstobject.c (gst_object_class_init): Make name a construct
14559         property. Don't set it in the object init.
14560
14561         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
14562         with UNKNOWN direction.
14563         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
14564         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
14565         (gst_element_remove_pad): Remove ghost-pad special cases.
14566         (gst_element_pads_activate): Remove rpad cruft.
14567
14568         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
14569         catch the pad's-parent-not-an-element case.
14570
14571         * gst/gst.h: Include gstghostpad.h.
14572
14573         * gst/gst.c (init_post): No more real, ghost pads.
14574
14575         * gst/Makefile.am: Add gstghostpad.[ch].
14576
14577         * check/Makefile.am:
14578         * check/gst/gstbin.c:
14579         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
14580         into a bin creates ghost pads, and that the refcounts are right.
14581         Partly moved from gstbin.c.
14582
14583 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14584
14585         * check/gst-libs/.cvsignore:
14586         * check/gst/.cvsignore:
14587         * check/pipelines/.cvsignore:
14588           ignore more
14589         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
14590         (START_TEST), (cleanup_suite), (main):
14591           add some tests related to cleanup after running pipelines
14592
14593 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14594
14595         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
14596           add a testsuite for GstBuffer
14597
14598 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14599
14600         * gst/gstminiobject.h:
14601           add defines for accessing the refcount
14602
14603 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
14604
14605         * Makefile.am: added support for html unit test coverage reports
14606
14607 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
14608
14609         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14610           Free existing caps if the capsfilter changes. Add a FIXME about
14611           setting those caps on the pads.
14612
14613         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
14614           Before adding a ghost pad to a parent bin, check that there isn't
14615           already one for the element on the bin. Prevents infinite recursion
14616           when using decodebin in parse pipelines. Andy says he'll rewrite the
14617           way this works anyway, so ignore the hack.
14618
14619 2005-06-02  Andy Wingo  <wingo@pobox.com>
14620
14621         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
14622         file size, pass it on to the type find helper.
14623
14624         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
14625         segment_start and segment_end properly according to the seek
14626         method. Segment_end is still a bit flaky because offset can be
14627         negative for CUR and END cases, but it takes -1 as an "unset"
14628         value.
14629
14630 2005-06-02  Wim Taymans  <wim@fluendo.com>
14631
14632         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
14633         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
14634         (gst_basesink_activate):
14635         * gst/base/gstbasesink.h:
14636         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14637         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14638         (gst_pad_query), (gst_pad_start_task):
14639         * gst/gstpad.h:
14640         * gst/gstqueue.c: (gst_queue_bufferalloc),
14641         (gst_queue_handle_sink_event), (gst_queue_chain):
14642         Bufferalloc: return GstFlowReturn to more accuratly report
14643         why allocation failed.
14644
14645 2005-06-02  Wim Taymans  <wim@fluendo.com>
14646
14647         * gst/gstpipeline.c: (gst_pipeline_send_event):
14648         Take snapshot of state without blocking.
14649
14650 2005-06-02  Wim Taymans  <wim@fluendo.com>
14651
14652         * docs/design/part-TODO.txt:
14653         * docs/design/part-caps.txt:
14654         * docs/design/part-clocks.txt:
14655         * docs/design/part-negotiation.txt:
14656         * docs/design/part-preroll.txt:
14657         Small doc updates 
14658
14659 2005-05-30  Wim Taymans  <wim@fluendo.com>
14660
14661         * gst/elements/gstidentity.c: (gst_identity_event),
14662         (gst_identity_transform), (gst_identity_get_property):
14663         Protect last_message property as it is accessed from
14664         multiple threads.
14665
14666 2005-05-30  Wim Taymans  <wim@fluendo.com>
14667
14668         * gst/gstelement.c: (gst_element_init),
14669         (gst_element_pads_activate), (gst_element_change_state):
14670         Slicker pad activation code.
14671
14672 2005-05-30  Wim Taymans  <wim@fluendo.com>
14673
14674         * gst/Makefile.am:
14675         * gst/gstelement.h:
14676         * gst/gstelementfactory.h:
14677         * gst/gsttypes.h:
14678         Move elementfactory methods to separate .h file.
14679
14680 2005-05-30  Wim Taymans  <wim@fluendo.com>
14681
14682         * docs/design/part-overview.txt:
14683         * gst/gstsystemclock.h:
14684         Small typo fixes, doc updates.
14685
14686 2005-05-30  Wim Taymans  <wim@fluendo.com>
14687
14688         * gst/gst.c: (gst_init_get_popt_table), (init_post),
14689         (init_popt_callback):
14690         Remove cpu-opt flag.
14691
14692 2005-05-30  Wim Taymans  <wim@fluendo.com>
14693
14694         * gst/gstbuffer.c: (gst_subbuffer_finalize),
14695         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
14696         * gst/gstbuffer.h:
14697         Avoid typechecking in places where not needed.
14698         Added accessor for malloc_data.
14699
14700 2005-05-30  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
14703         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
14704         (gst_pad_configure_sink), (gst_pad_configure_src),
14705         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
14706         (gst_pad_start_task):
14707         Propagate errors from _set_caps() in configure_src/sink
14708         functions instead of returning TRUE.
14709         FLUSH events can travel up and downstream
14710
14711
14712 2005-05-30  Wim Taymans  <wim@fluendo.com>
14713
14714         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14715         (gst_basesink_activate):
14716         Handle EOS in preroll.
14717
14718 2005-05-30  Wim Taymans  <wim@fluendo.com>
14719
14720         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14721         (gst_queue_loop), (gst_queue_handle_src_event):
14722         Remove old pieces of code
14723         Flushing the queue in an upstream event is a very bad idea.
14724
14725 2005-05-26  Andy Wingo  <wingo@pobox.com>
14726
14727         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14728         gst_value_set_mini_object so as to add a ref on the object (which
14729         will be removed when the value is unset).
14730
14731         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14732         arg type in ::handoff.
14733
14734         * gst/gstelement.c (gst_element_change_state): Also deactivate
14735         pads in READY->NULL, just in case the element didn't make it to
14736         PAUSED. Wingo tested, Wim approved.
14737
14738 2005-05-26  Wim Taymans  <wim@fluendo.com>
14739
14740         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14741         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14742         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14743         A flushing pad cannot be used to alloc_buffer from.
14744
14745 2005-05-26  Wim Taymans  <wim@fluendo.com>
14746
14747         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14748         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14749         (gst_bus_source_dispatch), (gst_bus_source_finalize),
14750         (gst_bus_create_watch), (gst_bus_add_watch_full):
14751         * gst/gstbus.h:
14752         Implement a real GSource and use g_main_context_wakeup() to
14753         signal new messages instead of the socketpair.
14754
14755 2005-05-25  Wim Taymans  <wim@fluendo.com>
14756
14757         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14758         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14759         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14760         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14761         (gst_pad_send_event), (gst_pad_start_task):
14762         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14763         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14764         (gst_queue_sink_activate), (gst_queue_src_activate),
14765         (gst_queue_change_state):
14766         * gst/gstqueue.h:
14767         Fix state changes for non sinks. We now change sinks, then elements
14768         with unconnected srcpads, then the rest.
14769         More efficient queue unlocking in flush and state changes.
14770         Set the pad activate mode even if it does not have an activate
14771         function.
14772
14773 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14774
14775         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14776           Don't go in pull mode for non-seekable sources.
14777         * gst/elements/gsttypefindelement.h:
14778         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14779         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14780         (free_entry), (stop_typefinding),
14781         (gst_type_find_element_handle_event), (find_peek),
14782         (gst_type_find_element_chain), (do_pull_typefind),
14783         (gst_type_find_element_change_state):
14784           Allow typefinding (w/o seeking) in push-mode, simplified version
14785           of what was in 0.8.
14786         * gst/gstutils.c: (gst_buffer_join):
14787         * gst/gstutils.h:
14788           gst_buffer_join() from 0.8.
14789
14790 2005-05-25  Wim Taymans  <wim@fluendo.com>
14791
14792         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14793         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14794         (gst_pad_send_event), (gst_pad_start_task):
14795         Disable attempt at mode switching until it is figured out.
14796
14797 2005-05-25  Wim Taymans  <wim@fluendo.com>
14798
14799         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14800         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14801         (gst_basesink_finish_preroll), (gst_basesink_chain),
14802         (gst_basesink_loop), (gst_basesink_activate),
14803         (gst_basesink_change_state):
14804         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14805         (gst_basesrc_get_range), (gst_basesrc_loop),
14806         (gst_basesrc_activate):
14807         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14808         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14809         (gst_real_pad_init), (gst_real_pad_set_property),
14810         (gst_real_pad_get_property), (gst_pad_set_active),
14811         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14812         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14813         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14814         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14815         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14816         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14817         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14818         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14819         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14820         (gst_pad_stop_task):
14821         * gst/gstpad.h:
14822         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14823         (gst_queue_loop), (gst_queue_src_activate):
14824         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14825         (gst_task_get_state):
14826         * gst/gsttask.h:
14827         * gst/schedulers/threadscheduler.c:
14828         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14829         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14830         in task function.
14831         Remove ACTIVE pad flag, use FLUSHING everywhere
14832         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14833         functions.
14834         Add locks around IS_FLUSHING when reading.
14835         Take STREAM lock in chain(), get_range() functions so plugins
14836         don't need to take it anymore.
14837         
14838
14839
14840 2005-05-25  Wim Taymans  <wim@fluendo.com>
14841
14842         * tools/gst-launch.c: (event_loop):
14843         Unref message after using its contents instead of
14844         before.
14845
14846 2005-05-24  Wim Taymans  <wim@fluendo.com>
14847
14848         * docs/design/draft-ghostpads.txt:
14849         * docs/design/draft-push-pull.txt:
14850         * docs/design/draft-query.txt:
14851         * docs/design/part-overview.txt:
14852         Docs updates, added general overview doc.
14853
14854 2005-05-21  David Schleef  <ds@schleef.org>
14855
14856         * docs/gst/tmpl/old/GstBin.sgml:
14857         * docs/gst/tmpl/old/GstBuffer.sgml:
14858         * docs/gst/tmpl/old/GstCaps.sgml:
14859         * docs/gst/tmpl/old/GstClock.sgml:
14860         * docs/gst/tmpl/old/GstCompat.sgml:
14861         * docs/gst/tmpl/old/GstData.sgml:
14862         * docs/gst/tmpl/old/GstElement.sgml:
14863         * docs/gst/tmpl/old/GstEvent.sgml:
14864         * docs/gst/tmpl/old/GstIndex.sgml:
14865         * docs/gst/tmpl/old/GstStructure.sgml:
14866         * docs/gst/tmpl/old/GstTag.sgml:
14867         * docs/gst/tmpl/old/cothreads.sgml:
14868         * docs/gst/tmpl/old/cothreads_compat.sgml:
14869         * docs/gst/tmpl/old/gettext.sgml:
14870         * docs/gst/tmpl/old/gobject2gtk.sgml:
14871         * docs/gst/tmpl/old/grammar.tab.sgml:
14872         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14873         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14874         * docs/gst/tmpl/old/gst_private.sgml:
14875         * docs/gst/tmpl/old/gstaggregator.sgml:
14876         * docs/gst/tmpl/old/gstarch.sgml:
14877         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14878         * docs/gst/tmpl/old/gstbufferstore.sgml:
14879         * docs/gst/tmpl/old/gstdata_private.sgml:
14880         * docs/gst/tmpl/old/gstdisksink.sgml:
14881         * docs/gst/tmpl/old/gstdisksrc.sgml:
14882         * docs/gst/tmpl/old/gstelementfactory.sgml:
14883         * docs/gst/tmpl/old/gstextratypes.sgml:
14884         * docs/gst/tmpl/old/gstfakesink.sgml:
14885         * docs/gst/tmpl/old/gstfakesrc.sgml:
14886         * docs/gst/tmpl/old/gstfdsink.sgml:
14887         * docs/gst/tmpl/old/gstfdsrc.sgml:
14888         * docs/gst/tmpl/old/gstfilesink.sgml:
14889         * docs/gst/tmpl/old/gstfilesrc.sgml:
14890         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14891         * docs/gst/tmpl/old/gstidentity.sgml:
14892         * docs/gst/tmpl/old/gstindexfactory.sgml:
14893         * docs/gst/tmpl/old/gstmarshal.sgml:
14894         * docs/gst/tmpl/old/gstmd5sink.sgml:
14895         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14896         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14897         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14898         * docs/gst/tmpl/old/gstpipefilter.sgml:
14899         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14900         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14901         * docs/gst/tmpl/old/gstshaper.sgml:
14902         * docs/gst/tmpl/old/gstspider.sgml:
14903         * docs/gst/tmpl/old/gstspideridentity.sgml:
14904         * docs/gst/tmpl/old/gststatistics.sgml:
14905         * docs/gst/tmpl/old/gsttee.sgml:
14906         * docs/gst/tmpl/old/gsttimecache.sgml:
14907         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14908         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14909         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14910         * docs/gst/tmpl/old/types.sgml:
14911           I didn't intend to add these or check them in.
14912
14913 2005-05-19  David Schleef  <ds@schleef.org>
14914
14915         * configure.ac: Use -no-common everywhere.  In a sane world, it
14916           would be the default in libtool, because without it, you can't
14917           build DLLs on Windows.
14918         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14919         * docs/gst/gstreamer-sections.txt:
14920         * docs/gst/tmpl/gstcpu.sgml:
14921         * docs/gst/tmpl/gstdata.sgml:
14922         * docs/gst/tmpl/gstthread.sgml:
14923
14924 2005-05-19  David Schleef  <ds@schleef.org>
14925
14926         * gst/gstminiobject.c: (gst_value_set_mini_object),
14927         (gst_value_take_mini_object), (gst_value_get_mini_object):
14928         * gst/gstminiobject.h: Add GValue set/get functions.
14929
14930 2005-05-19  Wim Taymans  <wim@fluendo.com>
14931
14932         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14933         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14934         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14935         * gst/gstbuffer.h:
14936         * gst/gstbus.c: (gst_bus_post):
14937         * gst/gstelement.c: (gst_element_get_random_pad):
14938         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14939         Make subbufer unref the parent in finalize.
14940         some more debugging info.
14941
14942
14943 2005-05-19  Wim Taymans  <wim@fluendo.com>
14944
14945         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14946         (gst_basesink_init), (gst_basesink_finalize),
14947         (gst_basesink_activate), (gst_basesink_change_state):
14948         Don't free preroll queue too early.
14949
14950 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14951
14952         * gst/Makefile.am:
14953         * gst/ROADMAP:
14954           Hi, I'm outdated. Please shoot me.
14955
14956 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14957
14958         * gst/gstpipeline.c: (gst_pipeline_send_event):
14959           Do not access variables after they have been deleted.
14960
14961 2005-05-19  Wim Taymans  <wim@fluendo.com>
14962
14963         * tools/gst-inspect.c: (print_plugin_features):
14964         A plugin feature does unfortunatly not use the
14965         object name yet...
14966
14967 2005-05-18  Wim Taymans  <wim@fluendo.com>
14968
14969         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14970         Port _span() functions to new subbuffers.
14971
14972 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14973
14974         * gst/gstbin.c: (gst_bin_add_func):
14975           Fix clock settery in bins when adding kids after the clock has
14976           been selected.
14977
14978 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14979
14980         * gst/elements/gstidentity.c: (gst_identity_class_init):
14981           Workaround until signals support GstMiniObject.
14982
14983 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14984
14985         * gst/gstbuffer.c:
14986         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14987
14988 2005-05-18  Wim Taymans  <wim@fluendo.com>
14989
14990         * gst/base/Makefile.am:
14991         * gst/base/gstadapter.c: (gst_adapter_base_init),
14992         (gst_adapter_class_init), (gst_adapter_init),
14993         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14994         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14995         (gst_adapter_flush), (gst_adapter_available),
14996         (gst_adapter_available_fast):
14997         * gst/base/gstadapter.h:
14998         Ported and added adapter to the base classes.
14999
15000 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15001
15002         * gst/gst.c:
15003         * gst/gstmessage.c:
15004           Make sure the class is reffed/unreffed once before threads can be
15005           used.  Fixes #304551.
15006
15007 2005-05-17  Wim Taymans  <wim@fluendo.com>
15008
15009         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15010         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15011         * gst/gstminiobject.c: (gst_mini_object_get_type),
15012         (gst_mini_object_free):
15013         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15014         (gst_pad_push), (gst_pad_push_event):
15015         * gst/gstqueue.c: (gst_queue_change_state):
15016         Don't queue buffers in basesink when we are flushing.
15017         Unref buffer when flushing in basesink.
15018         Flush queue when going to READY
15019         Unref buffer when _push() returns an error.
15020         Don't free MiniObject instance when refcount is incremented
15021         in _finalize() so that we can recover objects.
15022
15023 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15024
15025         * docs/manual/advanced-schedulers.xml:
15026         * docs/manual/appendix-checklist.xml:
15027         * docs/pwg/advanced-clock.xml:
15028         * docs/pwg/advanced-interfaces.xml:
15029         * docs/pwg/advanced-request.xml:
15030         * docs/pwg/advanced-types.xml:
15031         * docs/pwg/intro-preface.xml:
15032         * examples/plugins/example.c: (gst_example_get_type),
15033         (gst_example_class_init), (gst_example_chain),
15034         (gst_example_set_property), (gst_example_get_property),
15035         (gst_example_change_state), (plugin_init):
15036         * examples/plugins/example.h:
15037           small doc fixes
15038
15039 2005-05-17  Wim Taymans  <wim@fluendo.com>
15040
15041         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15042         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15043         * gst/gstqueue.c: (gst_queue_change_state):
15044         Clear queue when going to READY.
15045         Remove IN_SETCAPS flag too.
15046
15047 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15048
15049         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15050           Remove implicit cast from gboolean to GstElementStateReturn;
15051           make sure we still return failure in paused => ready case if
15052           the parent class fails to change state and our own stop 
15053           vfunc succeeds.
15054
15055 2005-05-17  Wim Taymans  <wim@fluendo.com>
15056
15057         * tools/gst-launch.c: (event_loop):
15058         Message was unreffed too soon.
15059
15060 2005-05-16  Andy Wingo  <wingo@pobox.com>
15061
15062         * gst/gstbin.c (sink_iterator_filter): Err... um...
15063
15064         * check/gst/gstbin.c (test_ghost_pads): New test for the
15065         ghosting-if-elements-not-in-same-bin behavior.
15066
15067 2005-05-16  David Schleef  <ds@schleef.org>
15068
15069         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15070         accessing refcount directly.
15071
15072 2005-05-15  David Schleef  <ds@schleef.org>
15073
15074         * check/Makefile.am: remove GstData checks
15075         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15076         * gst/Makefile.am: add miniobject, remove data
15077         * gst/gst.h: add miniobject, remove data
15078         * gst/gstdata.c: remove
15079         * gst/gstdata.h: remove
15080         * gst/gstdata_private.h: remove
15081         * gst/gsttypes.h: remove GstEvent and GstMessage
15082         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15083         * gst/gstmarshal.list: change BOXED -> OBJECT
15084
15085         Implement GstMiniObject.
15086         * gst/gstminiobject.c:
15087         * gst/gstminiobject.h:
15088
15089         Modify to be subclasses of GstMiniObject.
15090         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15091         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15092         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15093         (gst_subbuffer_get_type), (gst_subbuffer_init),
15094         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15095         (gst_buffer_span):
15096         * gst/gstbuffer.h:
15097         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15098         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15099         (_gst_event_copy), (gst_event_new):
15100         * gst/gstevent.h:
15101         * gst/gstmessage.c: (_gst_message_initialize),
15102         (gst_message_get_type), (gst_message_class_init),
15103         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15104         (gst_message_new), (gst_message_new_error),
15105         (gst_message_new_warning), (gst_message_new_tag),
15106         (gst_message_new_state_changed), (gst_message_new_application):
15107         * gst/gstmessage.h:
15108         * gst/gstprobe.c: (gst_probe_perform),
15109         (gst_probe_dispatcher_dispatch):
15110         * gst/gstprobe.h:
15111         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15112         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15113         (_gst_query_copy), (gst_query_new):
15114
15115         Update elements for GstData -> GstMiniObject changes
15116         * gst/gstquery.h:
15117         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15118         (gst_queue_chain), (gst_queue_loop):
15119         * gst/elements/gstbufferstore.c:
15120         (gst_buffer_store_add_buffer_func),
15121         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15122         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15123         (gst_fakesink_render):
15124         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15125         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15126         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15127         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15128         (gst_filesrc_create_read):
15129         * gst/elements/gstidentity.c: (gst_identity_class_init):
15130         * gst/elements/gsttypefindelement.c:
15131         (gst_type_find_element_src_event), (free_entry_buffers),
15132         (gst_type_find_element_handle_event):
15133         * libs/gst/dataprotocol/dataprotocol.c:
15134         (gst_dp_header_from_buffer):
15135         * libs/gst/dataprotocol/dataprotocol.h:
15136         * libs/gst/dataprotocol/dp-private.h:
15137
15138 2005-05-15  David Schleef  <ds@schleef.org>
15139
15140         * gst/elements/gstelements.c: Don't include headers that were
15141         just removed.
15142
15143 2005-05-15  David Schleef  <ds@schleef.org>
15144
15145         * gst/elements/Makefile.am: Remove some elements that don't
15146         need to be in the core (or even exist at all).
15147         * gst/elements/gstaggregator.c:
15148         * gst/elements/gstaggregator.h:
15149         * gst/elements/gstmd5sink.c:
15150         * gst/elements/gstmd5sink.h:
15151         * gst/elements/gstmultifilesrc.c:
15152         * gst/elements/gstmultifilesrc.h:
15153         * gst/elements/gstpipefilter.c:
15154         * gst/elements/gstpipefilter.h:
15155         * gst/elements/gstshaper.c:
15156         * gst/elements/gstshaper.h:
15157         * gst/elements/gststatistics.c:
15158         * gst/elements/gststatistics.h:
15159         * po/POTFILES.in: Remove above files.
15160
15161 2005-05-14  Andy Wingo  <wingo@pobox.com>
15162
15163         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15164         so as to get the refs right.
15165         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15166         unreffing objects that don't pass the filter.
15167
15168         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15169         gst_element_set_bus.
15170         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15171         normal cases, this will destroy the bus.
15172
15173         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15174         object.
15175
15176         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15177         has no sinks.
15178
15179 2005-05-13  Andy Wingo  <wingo@pobox.com>
15180
15181         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15182         gst_pad_link, call pad_link_maybe_ghosting,
15183         (pad_link_maybe_ghosting): Links pads, making sure that the
15184         elements being linked are in the same bin.
15185         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15186         Helpers for pad_link_maybe_ghosting.
15187
15188 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15189
15190         * configure.ac:
15191           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15192
15193 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15194
15195         * docs/design/part-element-source.txt:
15196           Mention GstPushSrc
15197
15198 2005-05-12  Wim Taymans  <wim@fluendo.com>
15199
15200         * gst/base/gstbasesink.c: (gst_basesink_init),
15201         (gst_basesink_activate):
15202         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15203         (gst_basesrc_is_seekable):
15204         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15205         (bin_element_is_sink), (gst_bin_change_state):
15206         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15207         * gst/gstelement.h:
15208         Identify sinks by their flag to avoid overly complicated
15209         checks (fow now).
15210         Do state changes even for elements not reachable from the
15211         sinks.
15212         BaseSink is a sink now :)
15213         Some more debugging info in the basesrc.
15214
15215
15216 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15217
15218         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15219           Implement _query on a bin, similar to _send_event.
15220
15221 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15222
15223         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15224           Discont event offset format should be GST_FORMAT_BYTES,
15225           not GST_FORMAT_TIME.
15226
15227 2005-05-12  Wim Taymans  <wim@fluendo.com>
15228
15229         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15230         Same fix as Ronald's but without the signal. 
15231
15232 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15233
15234         * gst/gstutils.c: (gst_element_query_position):
15235           No, an element is not a pad.
15236
15237 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15238
15239         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15240         (gst_bin_get_state):
15241           If a child is removed from a bin while we remove the child from
15242           the bin and while we're retrieving its state, signal this to the
15243           get_state function so we abort the wait (instead of waiting for
15244           a timeout) and can immediately re-iterate over all other elements.
15245
15246 2005-05-12  Wim Taymans  <wim@fluendo.com>
15247
15248         * gst/base/Makefile.am:
15249         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15250         (gst_basesrc_start):
15251         * gst/base/gstbasesrc.h:
15252         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15253         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15254         (gst_pushsrc_init), (gst_pushsrc_create):
15255         * gst/base/gstpushsrc.h:
15256         Added is_seekable to BaseSrc
15257         Added simple PushSrc.
15258
15259 2005-05-11  Wim Taymans  <wim@fluendo.com>
15260
15261         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15262         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15263         (gst_element_link_pads), (gst_element_query_position),
15264         (gst_element_query_convert), (intersect_caps_func),
15265         (gst_pad_query_position), (gst_pad_query_convert):
15266         Fix refcounting in utils function.
15267         No point in trying to activate a pad when it's added, it could
15268         be added from the state change function and then we deadlock, the
15269         element has to decide what to do.
15270
15271 2005-05-10  Andy Wingo  <wingo@pobox.com>
15272
15273         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15274         *all* the arguments.
15275
15276         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15277         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15278         lock (according to the docs -- if this is wrong change the docs).
15279
15280         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15281         flush messages in the NULL state.
15282
15283         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15284         message immediately and return.
15285         (gst_bus_set_flushing): New function. If a bus is flushing, it
15286         flushes out any queued messages and immediately unrefs new
15287         messages. This is so when an element goes to NULL, all of the
15288         unhandled messages coming from it can be freed, and their
15289         references to the element dropped. In other words: message source
15290         ref considered harmful :P
15291
15292         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15293         we're finished with it.
15294
15295         * gst/gstmessage.c (gst_message_new_state_changed): 
15296
15297 2005-05-10  Wim Taymans  <wim@fluendo.com>
15298
15299         * gst/gstvalue.c: (gst_value_compare_flags),
15300         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15301         (_gst_value_initialize):
15302         Added flags serialize/deserialize/compare code.
15303
15304 2005-05-09  Andy Wingo  <wingo@pobox.com>
15305
15306         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15307         Intersect the peer's caps with our caps.
15308
15309 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15310
15311         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15312         * gst/elements/gsttypefindelement.c: (find_peek):
15313           Handle negative offsets better. Fixes decodebin.
15314
15315 2005-05-09  Wim Taymans  <wim@fluendo.com>
15316
15317         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15318         (gst_base_transform_event):
15319         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15320         Implement accept_caps.
15321         Fix silly lock/unlock mismatch in base class.
15322
15323 2005-05-09  Wim Taymans  <wim@fluendo.com>
15324
15325         * docs/design/draft-push-pull.txt:
15326         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15327         * gst/elements/gstfilesink.c: (gst_filesink_init),
15328         (gst_filesink_query):
15329         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15330         (gst_type_find_handle_src_query), (find_element_get_length):
15331         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15332         * gst/gstelement.h:
15333         * gst/gstmessage.c:
15334         * gst/gstmessage.h:
15335         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15336         (gst_real_pad_get_caps_unlocked),
15337         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15338         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15339         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15340         (gst_real_pad_dispose), (gst_real_pad_finalize),
15341         (gst_pad_load_and_link), (gst_pad_save_thyself),
15342         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15343         (gst_pad_check_pull_range), (gst_pad_pull_range),
15344         (gst_pad_template_get_type), (gst_pad_template_class_init),
15345         (gst_pad_template_init), (gst_pad_template_dispose),
15346         (name_is_valid), (gst_static_pad_template_get),
15347         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15348         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15349         (gst_pad_get_element_private), (gst_pad_start_task),
15350         (gst_pad_pause_task), (gst_pad_stop_task),
15351         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15352         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15353         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15354         (gst_ghost_pad_new):
15355         * gst/gstpad.h:
15356         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15357         (gst_query_new_position), (gst_query_set_position),
15358         (gst_query_parse_position), (gst_query_new_convert),
15359         (gst_query_set_convert), (gst_query_parse_convert):
15360         * gst/gstquery.h:
15361         * gst/gstqueryutils.c:
15362         * gst/gstqueryutils.h:
15363         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15364         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15365         (gst_queue_handle_src_query):
15366         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15367         (gst_element_query_position), (gst_element_query_convert),
15368         (intersect_caps_func), (gst_pad_query_position),
15369         (gst_pad_query_convert):
15370         * gst/gstutils.h:
15371         * tools/gst-inspect.c: (print_pad_info):
15372         * tools/gst-xmlinspect.c: (print_element_info):
15373         Remove old query functions. Ported old code.
15374         Added position/convert helper functions to gstutils.
15375         Reordered gstpad.c code, grouping relevant things.
15376         Remove gst_message_new(), always need to speficy a specific
15377         message.
15378
15379
15380 2005-05-09  Andy Wingo  <wingo@pobox.com>
15381
15382         * gst/gstiterator.h: Add some includes.
15383
15384         * gst/gstqueryutils.h: Include more headers.
15385
15386         * gst/gstpad.h:
15387         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15388         some uses of gst_pad_query.
15389
15390         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15391         NULL out parameters.
15392         (gst_query_new_position): New proc, allocates a new position
15393         query.
15394
15395         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15396         gstqueryutils.c to the build.
15397
15398         * gst/gststructure.c (gst_structure_set_valist): Implement with
15399         the generic G_VALUE_COLLECT.
15400         
15401 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15402
15403         * gst/Makefile.am: (gst_headers):
15404         Added gstqueryutils.h to the list of headers to install, that was
15405         a 'nachty' move wingo :)
15406
15407 2005-05-06  Andy Wingo  <wingo@pobox.com>
15408
15409         * gst/gstquery.h
15410         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15411         GstData, init a memchunk.
15412         (standard_definitions): Add a few query types, deprecate a few.
15413         (gst_query_get_type): New proc.
15414         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15415         implementation.
15416         (gst_query_new_application, gst_query_get_structure): New public
15417         procs.
15418
15419         * docs/design/draft-query.txt: Removed LINKS from the query types,
15420         because all the rest can be dispatched to other pads -- seemed
15421         ugly to have a query that couldn't be dispatched. internal_links
15422         is fine as a pad method.
15423
15424         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15425         in gstpad.c, but maintain binary compatibility for the moment.
15426         Will fix before 0.9 is out.
15427
15428         * gst/gstqueryutils.c: 
15429         * gst/gstqueryutils.h: New files, implement 3 methods for each
15430         query type: parse_query, parse_response, and set. Probably need an
15431         allocator as well.
15432
15433         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15434
15435         * gst/elements/gstfilesink.c (gst_filesink_query2):
15436         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15437         query_types, and formats methods.
15438
15439         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15440         (gst_pad_set_query2_function): New functions.
15441         (gst_real_pad_init): Set query2_default as the default query2
15442         function. Basically just dispatches to internally linked pads.
15443
15444         Needs review!
15445         
15446         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15447         without using the atomic operations. Only one thread can possibly
15448         be accessing the data at this point. Changed so as to avoid
15449         gst_atomic operations.
15450
15451 2005-05-06  Wim Taymans  <wim@fluendo.com>
15452
15453         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15454         Also set caps if we use the fallback buffer alloc.
15455
15456 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15457
15458         * docs/gst/Makefile.am:
15459         * docs/gst/gstreamer-docs.sgml:
15460         * docs/gst/gstreamer-sections.txt:
15461         * docs/gst/tmpl/gstatomic.sgml:
15462         * docs/gst/tmpl/gstmemchunk.sgml:
15463         * testsuite/elements/struct_i386.h:
15464         * win32/GStreamer.vcproj:
15465         * win32/Makefile:
15466           Purge GstAtomic stuff from docs and win32 makefiles as well
15467
15468 2005-05-06  Wim Taymans  <wim@fluendo.com>
15469
15470         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15471         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15472         * gst/gstpad.c: (gst_pad_peer_get_caps):
15473         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15474         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15475         (gst_queue_src_activate), (gst_queue_change_state):
15476         * gst/gstqueue.h:
15477         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15478         (intersect_caps_func):
15479         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15480         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15481         Some fixes for the peer_get_caps() change.
15482
15483 2005-05-06  Wim Taymans  <wim@fluendo.com>
15484
15485         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15486         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15487         (gst_basesink_activate):
15488         Actually do something with error codes returned from the push
15489         functions.
15490
15491 2005-05-06  Wim Taymans  <wim@fluendo.com>
15492
15493         * docs/design/part-element-sink.txt:
15494         * docs/design/part-element-source.txt:
15495         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15496         (gst_basesink_event), (gst_basesink_activate):
15497         * gst/base/gstbasesink.h:
15498         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15499         (gst_basesrc_activate):
15500         * gst/base/gstbasesrc.h:
15501         * gst/gstelement.c: (gst_element_pads_activate):
15502         Some more documentation.
15503         Fixed scheduling decision in _pads_activate().
15504
15505 2005-05-05  Andy Wingo  <wingo@pobox.com>
15506
15507         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15508         the test suite.
15509
15510 2005-05-05  Wim Taymans  <wim@fluendo.com>
15511
15512         * gst/base/Makefile.am:
15513         * gst/base/gstbasesink.h:
15514         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15515         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
15516         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
15517         (gst_collectpads_class_init), (gst_collectpads_init),
15518         (gst_collectpads_finalize), (gst_collectpads_new),
15519         (gst_collectpads_set_function), (gst_collectpads_add_pad),
15520         (find_pad), (gst_collectpads_remove_pad),
15521         (gst_collectpads_is_active), (gst_collectpads_collect),
15522         (gst_collectpads_collect_range), (gst_collectpads_start),
15523         (gst_collectpads_stop), (gst_collectpads_peek),
15524         (gst_collectpads_pop), (gst_collectpads_available),
15525         (gst_collectpads_read), (gst_collectpads_flush),
15526         (gst_collectpads_chain):
15527         * gst/base/gstcollectpads.h:
15528         * gst/elements/Makefile.am:
15529         * gst/elements/gstelements.c:
15530         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15531         (gst_fakesink_get_times), (gst_fakesink_event),
15532         (gst_fakesink_preroll), (gst_fakesink_render):
15533         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15534         (gst_filesink_init), (gst_filesink_set_location),
15535         (gst_filesink_open_file), (gst_filesink_close_file),
15536         (gst_filesink_pad_query), (gst_filesink_event),
15537         (gst_filesink_render), (gst_filesink_change_state):
15538         * gst/elements/gstfilesink.h:
15539         Added object to help in making collect pad based elements.
15540         Ported filesink.
15541         Make event function in sink baseclass return gboolean.
15542
15543 2005-05-05  Wim Taymans  <wim@fluendo.com>
15544
15545         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
15546         (gst_bin_get_by_name):
15547         * gst/gstbuffer.h:
15548         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
15549         (gst_clock_finalize):
15550         * gst/gstdata.c: (gst_data_replace):
15551         * gst/gstdata.h:
15552         * gst/gstelement.c: (gst_element_request_pad),
15553         (gst_element_pads_activate):
15554         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15555         (gst_object_unref):
15556         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15557         (gst_pad_set_checkgetrange_function),
15558         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
15559         (gst_pad_check_pull_range), (gst_pad_pull_range),
15560         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15561         (gst_pad_pause_task), (gst_pad_stop_task):
15562         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15563         (gst_element_request_pad), (gst_pad_proxy_getcaps):
15564         Fix name lookup in GstBin.
15565         Added _data_replace() function and _buffer_replace()
15566         Use finalize method to clean up clock.
15567         Fix refcounting on request pads.
15568         Fix pad schedule mode error.
15569         Some more object refcounting debug info,
15570
15571
15572 2005-05-04  Andy Wingo <wingo@pobox.com>
15573
15574         * check/Makefile.am:
15575         * docs/gst/tmpl/gstatomic.sgml:
15576         * docs/gst/tmpl/gstplugin.sgml:
15577         * gst/base/gstbasesink.c: (gst_basesink_activate):
15578         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
15579         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
15580         (gst_basesrc_query), (gst_basesrc_set_property),
15581         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
15582         (gst_basesrc_activate):
15583         * gst/base/gstbasesrc.h:
15584         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
15585         (gst_base_transform_src_activate):
15586         * gst/elements/gstelements.c:
15587         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15588         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15589         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15590         * gst/elements/gsttypefindelement.c: (find_element_get_length),
15591         (gst_type_find_element_checkgetrange),
15592         (gst_type_find_element_activate):
15593         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
15594         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
15595         (gst_caps_load_thyself):
15596         * gst/gstelement.c: (gst_element_pads_activate),
15597         (gst_element_save_thyself), (gst_element_restore_thyself):
15598         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
15599         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
15600         * gst/gstpad.h:
15601         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
15602         (gst_xml_parse_file), (gst_xml_parse_memory),
15603         (gst_xml_get_element), (gst_xml_make_element):
15604         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15605         (_file_index_id_save_xml), (gst_file_index_commit):
15606         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
15607         (read_enum), (load_pad_template), (load_feature), (load_plugin),
15608         (load_paths):
15609         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
15610         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
15611         * tools/gst-complete.c: (main):
15612         * tools/gst-compprep.c: (main):
15613         * tools/gst-inspect.c: (print_element_properties_info):
15614         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
15615         * tools/gst-xmlinspect.c: (print_element_properties):
15616         GCC 4 fixen.
15617         
15618 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15619
15620         * gst/gstplugin.c: (gst_plugin_check_module),
15621         (gst_plugin_check_file), (gst_plugin_load_file):
15622             apply patch from #172526 to make register work on MacOSX
15623
15624 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15625
15626         * docs/gst/tmpl/gstconfig.sgml:
15627         * gst/gstconfig.h.in:
15628           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
15629         * testsuite/debug/printf_extension.c: (main):
15630           Do not use GST_PTR_FORMAT on pointers to types with
15631           sizeof < sizeof(gpointer).  Fixes test on 64-bit
15632         * testsuite/elements/property.h:
15633           use correct printf format
15634
15635 2005-05-02  Wim Taymans  <wim@fluendo.com>
15636
15637         * docs/design/draft-push-pull.txt:
15638         * docs/design/draft-query.txt:
15639         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
15640         (gst_basesrc_start):
15641         Added draft for new query API.
15642         Added draft for better selecting scheduling methods.
15643         Make basesrc ignore length if the subclass does not support
15644         it.
15645
15646 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15647
15648         * gst/Makefile.am:
15649           possible fixes for automake-1.5 - _LIBADD is reserved
15650
15651 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15652
15653         * docs/faq/Makefile.am:
15654         * docs/manual/Makefile.am:
15655         * docs/manuals.mak:
15656         * docs/pwg/Makefile.am:
15657         * gst/Makefile.am:
15658           possible fixes for automake-1.5
15659
15660 2005-04-28  Wim Taymans  <wim@fluendo.com>
15661
15662         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15663         (gst_basesink_pad_getcaps), (gst_basesink_init),
15664         (gst_basesink_do_sync):
15665         * gst/gstclock.c: (gst_clock_entry_new):
15666         * gst/gstevent.c: (gst_event_discont_get_value):
15667         * gst/gstpipeline.c: (pipeline_bus_handler),
15668         (gst_pipeline_change_state):
15669         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15670         Better debugging of clocking info.
15671         Allow NULL values when getting discont values.
15672
15673 2005-04-27  Wim Taymans  <wim@fluendo.com>
15674
15675         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15676         * check/gst/gstpad.c: (gst_pad_suite):
15677         Increase timeout for checks.
15678
15679 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15680
15681         * check/Makefile.am:
15682           fix the broken rule for cleanup.  Apparently this rule is
15683           only needed on FC2, so maybe this warrants further autotool
15684           inspection.
15685
15686 2005-04-26  Wim Taymans  <wim@fluendo.com>
15687
15688         * gst/gsttrashstack.h:
15689         Ooohh. a nasty one! After having a failed pop() from the stack,
15690         it's possible that the stack is empty. In that case, don't
15691         follow the NULL pointer.
15692
15693 2005-04-25  Wim Taymans  <wim@fluendo.com>
15694
15695         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15696         (gst_pad_set_checkgetrange_function),
15697         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
15698         (gst_pad_check_pull_range), (gst_pad_pull_range),
15699         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15700         (gst_pad_pause_task), (gst_pad_stop_task):
15701         * gst/gstplugin.c: (gst_plugin_load):
15702         * gst/gstplugin.h:
15703         Remove gst_library_load as it does more harm than good with
15704         the new g_module flags.
15705         Revert bogus caps template check in pad linking, pad caps
15706         are important when linking not the template, which is more
15707         general than the current caps.
15708
15709 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15710
15711         * gst/autoplug/.cvsignore:
15712         * gst/autoplug/Makefile.am:
15713         * gst/autoplug/gstsearchfuncs.c:
15714         * gst/autoplug/gstsearchfuncs.h:
15715         * gst/autoplug/gstspider.c:
15716         * gst/autoplug/gstspider.h:
15717         * gst/autoplug/gstspideridentity.c:
15718         * gst/autoplug/gstspideridentity.h:
15719         * gst/autoplug/spidertest.c:
15720           Die, spider, die.
15721
15722 2005-04-25  Wim Taymans  <wim@fluendo.com>
15723
15724         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15725         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15726         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15727         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15728         * gst/gstpad.h:
15729         Added stubs for unimplemented functions. 
15730
15731 2005-04-24  David Schleef  <ds@schleef.org>
15732
15733         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
15734         please fix.
15735
15736 2005-04-24  David Schleef  <ds@schleef.org>
15737
15738         Convert everything from GstAtomicInt to g_atomic_int_*, and
15739         remove gstatomic.
15740         * gst/Makefile.am:
15741         * gst/gstatomic.c:
15742         * gst/gstatomic.h:
15743         * gst/gstatomic_impl.h:
15744         * gst/gstbuffer.c:
15745         * gst/gstcaps.c:
15746         * gst/gstcaps.h:
15747         * gst/gstclock.c:
15748         * gst/gstclock.h:
15749         * gst/gstdata.c:
15750         * gst/gstdata.h:
15751         * gst/gstdata_private.h:
15752         * gst/gstevent.c:
15753         * gst/gstinfo.c:
15754         * gst/gstinfo.h:
15755         * gst/gstmessage.c:
15756         * gst/gstobject.c:
15757         * gst/gstobject.h:
15758         * gst/gststructure.c:
15759         * gst/gststructure.h:
15760         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15761         * gst/gstutils.h:
15762
15763 2005-04-24  David Schleef  <ds@schleef.org>
15764
15765         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15766         make the regressions tests work.  Remove some code that is no
15767         longer true.
15768         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15769         Disable warning for pads without templates.
15770
15771 2005-04-24  David Schleef  <ds@schleef.org>
15772
15773         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
15774         functions that handle filtered links.
15775         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15776         removed functions.
15777         * gst/gstutils.c: Fix/remove utility functions that handle
15778         filtered caps.
15779         * gst/gstutils.h:
15780         * gst/gstvalue.c: Add serialization/deserialization of caps
15781         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
15782         requires fixing so that the filter caps notation creates
15783         a capsfilter element and sets the filter_caps property.  I
15784         think everyone probably wants to keep the shorthand notation.
15785         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15786         * docs/gst/tmpl/gstpad.sgml:
15787
15788         * gst/elements/gstelements.c: Register capsfilter element.
15789         * gst/Makefile.am: fix spacing
15790         * docs/random/ds/0.9-suggested-changes: random
15791
15792 2005-04-23  David Schleef  <ds@schleef.org>
15793
15794         * gst/elements/Makefile.am:
15795         * gst/elements/gstcapsfilter.c: New element that acts like an
15796         identity, but filters caps.  Will eventually replace filtered
15797         caps in pad linking.
15798         * gst/gstutils.c: (gst_element_create_all_pads): New function
15799         to create all the ALWAYS pads that are registered with an
15800         element class.  This functionality should eventually be
15801         merged in with GstElement initialization.
15802         * gst/gstutils.h:
15803         * testsuite/trigger/README: part of trigger test code that should
15804         have been checked in a long time ago.
15805
15806 2005-04-23  David Schleef  <ds@schleef.org>
15807
15808         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
15809         needed with new versions of libtool (nobody will confirm this),
15810         and hard to carry around.
15811         * gst/autoplug/Makefile.am:
15812         * gst/base/Makefile.am:
15813         * gst/elements/Makefile.am:
15814         * gst/indexers/Makefile.am:
15815         * gst/schedulers/Makefile.am:
15816         * libs/gst/bytestream/Makefile.am:
15817         * libs/gst/control/Makefile.am:
15818         * libs/gst/dataprotocol/Makefile.am:
15819         * libs/gst/getbits/Makefile.am:
15820
15821 2005-04-21  Wim Taymans  <wim@fluendo.com>
15822
15823         * docs/design/draft-push-pull.txt:
15824         * docs/design/part-MT-refcounting.txt:
15825         * docs/design/part-TODO.txt:
15826         * docs/design/part-caps.txt:
15827         * docs/design/part-events.txt:
15828         * docs/design/part-gstbus.txt:
15829         * docs/design/part-gstpipeline.txt:
15830         * docs/design/part-messages.txt:
15831         * docs/design/part-push-pull.txt:
15832         * docs/design/part-query.txt:
15833         Some more docs.
15834
15835 2005-04-21  Wim Taymans  <wim@fluendo.com>
15836
15837         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15838         (gst_message_new), (gst_message_new_error),
15839         (gst_message_new_warning), (gst_message_new_tag),
15840         (gst_message_new_state_changed), (gst_message_new_application),
15841         (gst_message_get_structure):
15842         * gst/gstmessage.h:
15843         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15844         (gst_structure_copy_conditional):
15845         Use parent refcount in GstMessage to ensure GstStructure
15846         consistency.
15847         Cleaned up headers a bit.
15848         
15849
15850 2005-04-20  Wim Taymans  <wim@fluendo.com>
15851
15852         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15853         (gst_basesink_pad_getcaps), (gst_basesink_init),
15854         (gst_basesink_chain_unlocked):
15855         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15856         (gst_type_find_helper):
15857         * gst/elements/gsttypefindelement.c:
15858         (gst_type_find_element_have_type), (gst_type_find_element_init),
15859         (stop_typefinding), (gst_type_find_element_handle_event),
15860         (find_suggest), (gst_type_find_element_chain),
15861         (gst_type_find_element_checkgetrange),
15862         (gst_type_find_element_getrange), (do_typefind),
15863         (gst_type_find_element_activate):
15864         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15865         (gst_buffer_default_free), (gst_buffer_default_copy),
15866         (gst_buffer_set_caps):
15867         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15868         (gst_caps_replace):
15869         * gst/gstmessage.c: (gst_message_new),
15870         (gst_message_new_state_changed):
15871         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15872         (gst_pad_set_checkgetrange_function),
15873         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15874         (gst_pad_set_caps), (gst_pad_check_pull_range),
15875         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15876         * gst/gstpad.h:
15877         * gst/gsttypefind.c: (gst_type_find_register):
15878         Make gst_caps_replace() work like other _replace() functions.
15879         Use _caps_replace() where possible.
15880         Make sure _message_new() initialises its field.
15881         Add gst_static_pad_template_get_caps()
15882
15883
15884 2005-04-18  Andy Wingo  <wingo@pobox.com>
15885
15886         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15887         on the peer, not the pad. I think that was a typo. Pass an extra
15888         arg to see if random access is possible. Activate the pads as
15889         PULL_RANGE if possible.
15890
15891         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15892
15893         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15894         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15895         to PROP_....
15896
15897 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15898
15899         * docs/faq/using.xml:
15900           Add note on gstreamer-properties (#154996).
15901
15902 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15903
15904         * docs/random/bbb/optional-properties:
15905           Some analysis on optional properties.
15906
15907 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15908
15909         * docs/gst/tmpl/gstelementfactory.sgml:
15910         * gst/gstelement.h:
15911         * gst/gstelementfactory.c: (gst_element_factory_init),
15912         (gst_element_factory_cleanup), (gst_element_register),
15913         (__gst_element_factory_add_static_pad_template),
15914         (gst_element_factory_get_static_pad_templates),
15915         (gst_element_factory_can_src_caps),
15916         (gst_element_factory_can_sink_caps):
15917         * gst/registries/Makefile.am:
15918         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15919         (gst_xml_registry_class_init), (gst_xml_registry_init),
15920         (gst_xml_registry_new), (gst_xml_registry_set_property),
15921         (gst_xml_registry_get_property), (get_time), (make_dir),
15922         (gst_xml_registry_get_perms_func),
15923         (plugin_times_older_than_recurse), (plugin_times_older_than),
15924         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15925         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15926         (add_to_char_array), (read_string), (read_uint), (read_enum),
15927         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15928         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15929         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15930         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15931         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15932         (gst_xml_registry_rebuild):
15933         * gst/registries/gstlibxmlregistry.h:
15934         * tools/gst-compprep.c: (main):
15935         * tools/gst-inspect.c: (print_pad_templates_info):
15936         * tools/gst-xmlinspect.c: (print_element_info):
15937           Use libxml2 for registry parsing, use staticpadtemplates in
15938           elementfactories. Makes gst_init() +/- 10x faster.
15939
15940 2005-04-12  Wim Taymans  <wim@fluendo.com>
15941
15942         * gst/base/Makefile.am:
15943         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15944         (gst_basesink_pad_getcaps), (gst_basesink_init),
15945         (gst_basesink_event), (gst_basesink_change_state):
15946         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15947         (gst_basesrc_init), (gst_basesrc_query),
15948         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15949         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15950         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15951         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15952         (gst_basesrc_stop), (gst_basesrc_activate),
15953         (gst_basesrc_change_state):
15954         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15955         (helper_find_suggest), (gst_type_find_helper):
15956         * gst/base/gsttypefindhelper.h:
15957         * gst/elements/Makefile.am:
15958         * gst/elements/gstelements.c:
15959         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15960         (gst_fakesink_get_times), (gst_fakesink_event),
15961         (gst_fakesink_preroll), (gst_fakesink_render):
15962         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15963         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15964         (gst_fakesrc_get_property), (gst_fakesrc_create),
15965         (gst_fakesrc_start), (gst_fakesrc_stop):
15966         * gst/elements/gstfakesrc.h:
15967         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15968         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15969         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15970         (gst_filesrc_create_read), (gst_filesrc_create),
15971         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15972         (gst_filesrc_start):
15973         * gst/elements/gsttypefindelement.c:
15974         (gst_type_find_element_have_type), (gst_type_find_element_init),
15975         (start_typefinding), (stop_typefinding), (push_buffer_store),
15976         (gst_type_find_element_handle_event),
15977         (gst_type_find_element_chain),
15978         (gst_type_find_element_checkgetrange),
15979         (gst_type_find_element_getrange), (do_typefind),
15980         (gst_type_find_element_activate),
15981         (gst_type_find_element_change_state):
15982         * gst/elements/gsttypefindelement.h:
15983         * gst/gstpipeline.c: (pipeline_bus_handler):
15984         Added typefind helper.
15985         Small preroll fix in the base sink.
15986         Disable typefind code in basesrc.
15987         Crude port of typefindelement.
15988         Fakesrc cleanups.
15989
15990
15991 2005-04-11  Wim Taymans  <wim@fluendo.com>
15992
15993         * check/gst/gstbus.c: (gstbus_suite):
15994         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15995         * check/gstcheck.h:
15996           Fix up the timeout so that the test does not fail.
15997
15998 2005-04-06  Wim Taymans  <wim@fluendo.com>
15999
16000         * gst/base/README:
16001         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16002         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16003         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16004         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16005         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16006         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16007         (gst_basesrc_stop), (gst_basesrc_activate),
16008         (gst_basesrc_change_state), (basesrc_find_peek),
16009         (basesrc_find_suggest), (gst_basesrc_type_find):
16010         * gst/base/gstbasesrc.h:
16011         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16012         (gst_filesrc_class_init), (gst_filesrc_init),
16013         (gst_filesrc_finalize), (gst_filesrc_set_location),
16014         (gst_filesrc_set_property), (gst_filesrc_get_property),
16015         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16016         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16017         (gst_filesrc_create_read), (gst_filesrc_create),
16018         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16019         * gst/elements/gstfilesrc.h:
16020         * gst/gstelement.c: (gst_element_get_state_func),
16021         (gst_element_lost_state), (gst_element_pads_activate):
16022         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16023         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16024         (gst_pad_pull_range):
16025         * gst/gstpad.h:
16026         More work on the generic source base class, implement seeking,
16027         query.
16028         Make filesrc extend the base source class.
16029         Added gst_pad_set_checkgetrange_function to GstPad.
16030
16031 2005-04-06  Andy Wingo  <wingo@pobox.com>
16032
16033         * pkgconfig/gstreamer-base.pc.in:
16034         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16035
16036         * pkgconfig/Makefile.am:
16037         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16038
16039 2005-04-04  Wim Taymans  <wim@fluendo.com>
16040
16041         * gst/base/Makefile.am:
16042         * gst/base/README:
16043         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16044         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16045         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16046         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16047         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16048         (gst_basesrc_base_init), (gst_basesrc_class_init),
16049         (gst_basesrc_init), (gst_basesrc_get_formats),
16050         (gst_basesrc_get_query_types), (gst_basesrc_query),
16051         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16052         (gst_basesrc_set_property), (gst_basesrc_get_property),
16053         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16054         (gst_basesrc_loop), (gst_basesrc_activate),
16055         (gst_basesrc_change_state):
16056         * gst/base/gstbasesrc.h:
16057         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16058         (gst_fakesrc_class_init), (gst_fakesrc_init),
16059         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16060         (gst_fakesrc_get_property), (gst_fakesrc_create):
16061         * gst/elements/gstfakesrc.h:
16062         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16063         (gst_filesrc_open_file), (gst_filesrc_loop),
16064         (gst_filesrc_activate), (filesrc_find_peek),
16065         (gst_filesrc_type_find):
16066         Made base source class, make fakesrc extend it.
16067         Add comments to basesink class.
16068         Some filesrc cleanup.
16069
16070 2005-03-31  David Schleef  <ds@schleef.org>
16071
16072         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16073         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16074         expected to link against libgstreamer.
16075         * gst/base/Makefile.am: link against libgstreamer
16076         * gst/elements/Makefile.am: same
16077
16078 2005-03-31  Andy Wingo  <wingo@pobox.com>
16079
16080         * tests/instantiate/Makefile.am:
16081         * tests/instantiate/caps.c: Add test to test speed of caps copy
16082         and free.
16083
16084         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16085         GMemChunk to be fair.
16086
16087         * gst/gsttrashstack.h: Remove warning about using the fallback
16088         trash stack implementation, it's still faster than malloc.
16089
16090 2005-03-30  Andy Wingo  <wingo@pobox.com>
16091
16092         * tests/complexity.c: Add a copyright.
16093
16094 2005-03-31  Wim Taymans  <wim@fluendo.com>
16095
16096         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16097         (gst_base_transform_class_init), (gst_base_transform_init),
16098         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16099         (gst_base_transform_get_property),
16100         (gst_base_transform_sink_activate),
16101         (gst_base_transform_src_activate),
16102         (gst_base_transform_change_state):
16103         * gst/base/gstbasetransform.h:
16104         * gst/elements/gstidentity.c: (gst_identity_class_init),
16105         (gst_identity_event), (gst_identity_check_perfect),
16106         (gst_identity_transform), (gst_identity_start),
16107         (gst_identity_stop):
16108         Added start/stop methods to transform base class so subclasses 
16109         don't need to deal with state changes even.
16110
16111 2005-03-31  Wim Taymans  <wim@fluendo.com>
16112
16113         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16114         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16115         * gst/gstevent.h:
16116         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16117         (gst_pad_pull_range):
16118         Added rate to the discont event to prepare for variable speed
16119         and reverse playback.
16120
16121 2005-03-29  David Schleef  <ds@schleef.org>
16122
16123         * configure.ac:
16124         * testsuite/trigger/Makefile.am:
16125         * testsuite/trigger/trigger.c: A little example program to show
16126         how trigger-based elements can work.
16127
16128 2005-03-29  Wim Taymans  <wim@fluendo.com>
16129
16130         * gst/base/Makefile.am:
16131         * gst/base/README:
16132         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16133         (gst_basesink_base_init), (gst_basesink_class_init),
16134         (gst_basesink_pad_getcaps), (gst_basesink_init),
16135         (gst_basesink_activate), (gst_basesink_change_state):
16136         * gst/base/gstbasesink.h:
16137         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16138         (gst_base_transform_base_init), (gst_base_transform_finalize),
16139         (gst_base_transform_class_init), (gst_base_transform_init),
16140         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16141         (gst_base_transform_event), (gst_base_transform_getrange),
16142         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16143         (gst_base_transform_set_property),
16144         (gst_base_transform_get_property),
16145         (gst_base_transform_sink_activate),
16146         (gst_base_transform_src_activate),
16147         (gst_base_transform_change_state):
16148         * gst/base/gstbasetransform.h:
16149         * gst/elements/gstidentity.c: (gst_identity_finalize),
16150         (gst_identity_class_init), (gst_identity_init),
16151         (gst_identity_event), (gst_identity_check_perfect),
16152         (gst_identity_transform), (gst_identity_set_property),
16153         (gst_identity_get_property), (gst_identity_change_state):
16154         * gst/elements/gstidentity.h:
16155         * gst/gstelement.c: (gst_element_get_state_func),
16156         (gst_element_lost_state), (gst_element_pads_activate):
16157         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16158         (gst_pad_check_pull_range), (gst_pad_pull_range):
16159         * gst/gstpad.h:
16160         Simplify pad activation.
16161         Added function to check if pull_range can be performed.
16162         Error out when pulling inactive or flushing pads.
16163         Removed const from refcounted types as it does not make sense.
16164         Simplify pad templates in basesink
16165         Added base class for simple 1-to-1 transforms.
16166         Make identity subclass the base transform.
16167
16168 2005-03-29  Andy Wingo  <wingo@pobox.com>
16169
16170         * docs/libs/gstreamer-libs-overrides.txt: 
16171         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16172         really don't understand what's going on, but like whatever. I want
16173         green buildbot!
16174
16175         * docs/gst/Makefile.am:
16176         * docs/libs/Makefile.am: Dist the overrides files.
16177
16178         * check/Makefile.am (clean-local): Remove .libs directories.
16179
16180         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16181         elements to EXTRA_DIST, so po/ files are happy.
16182
16183         * po/POTFILES.in: Er, remove it here.
16184
16185         * po/POTFILES: Remove gstspider.c.
16186
16187         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16188
16189         * docs/libs/gstreamer-libs-docs.sgml: 
16190         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16191         bytestream.
16192
16193         * tests/complexity.c (main): Set the length of the preroll queue
16194         on the sinks to prevent a lockup.
16195
16196         * libs/gst/dataprotocol/Makefile.am: 
16197         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16198         the same as the one in check/gst-libs/gdp.c.
16199
16200         * po/, docs/gst/: Commit automatic changes to docs and po files.
16201
16202         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16203         the versioned libgstbase.
16204
16205         * check/Makefile.am: Depend on an unversioned gst-register, seems
16206         to make autoconf happier.
16207
16208         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16209
16210 2005-03-28  Wim Taymans  <wim@fluendo.com>
16211
16212         * configure.ac:
16213         * docs/design/part-gstelement.txt:
16214         * docs/design/part-negotiation.txt:
16215         * docs/design/part-preroll.txt:
16216         * docs/design/part-scheduling.txt:
16217         * docs/design/part-states.txt:
16218         * gst/Makefile.am:
16219         * gst/base/Makefile.am:
16220         * gst/base/README:
16221         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16222         (gst_basesink_base_init), (gst_basesink_class_init),
16223         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16224         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16225         (gst_basesink_set_pad_functions),
16226         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16227         (gst_basesink_set_property), (gst_basesink_get_property),
16228         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16229         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16230         (gst_basesink_preroll_queue_push),
16231         (gst_basesink_preroll_queue_empty),
16232         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16233         (gst_basesink_event), (gst_basesink_get_times),
16234         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16235         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16236         (gst_basesink_loop), (gst_basesink_activate),
16237         (gst_basesink_change_state):
16238         * gst/base/gstbasesink.h:
16239         * gst/elements/Makefile.am:
16240         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16241         (gst_fakesink_class_init), (gst_fakesink_init),
16242         (gst_fakesink_set_property), (gst_fakesink_get_property),
16243         (gst_fakesink_get_times), (gst_fakesink_event),
16244         (gst_fakesink_preroll), (gst_fakesink_render),
16245         (gst_fakesink_change_state):
16246         * gst/elements/gstfakesink.h:
16247         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16248         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16249         * gst/gstelement.c: (gst_element_add_pad),
16250         (gst_element_get_state_func), (gst_element_abort_state),
16251         (gst_element_commit_state), (gst_element_lost_state),
16252         (gst_element_set_state), (gst_element_pads_activate):
16253         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16254         * gst/gstpipeline.c: (gst_pipeline_send_event),
16255         (gst_pipeline_change_state):
16256         Added state change code.
16257         Added/updated docs.
16258         Added sink base class, make fakesink extend the base class.
16259         Small cleanups in GstPipeline.
16260
16261 2005-03-26  David Schleef  <ds@schleef.org>
16262
16263         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16264         is broken and should be implemented in a different library.
16265         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16266         * gst/gst.h: remove gstcpu.h
16267         * gst/gstcpu.c: remove
16268         * gst/gstcpu.h: remove
16269         * gst/Makefile.am.future: Remove this file.  It's ancient.
16270
16271 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16272
16273         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16274         (gst_bin_send_event):
16275           Add default event/set_manager handlers. The set_manager handler
16276           takes care that the manager is distributed over kids that were
16277           already in the bin before the manager was set. The event handler
16278           is a utility virtual function that sends the event over all sinks,
16279           so that gst_element_send_event (bin, event); has the expected
16280           behaviour.
16281         * gst/gstpad.c: (gst_pad_event_default):
16282           Re-install default event handling for discontinuities, so that
16283           seeking works without requiring hacks in applications or extra
16284           code in sinks.
16285         * gst/gstpipeline.c: (gst_pipeline_class_init),
16286         (gst_pipeline_send_event):
16287           Half hack, half utility: set a pipeline to PAUSED for seek events,
16288           since that is the only way we can guarantee a/v sync. Means that
16289           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16290           and it "just works".
16291
16292 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16293
16294         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16295           Lock/unlock mismatch.
16296
16297 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16298
16299         * docs/faq/gst-uninstalled:
16300           add gst-plugins-base
16301         * docs/gst/Makefile.am:
16302           don't error out until docs are fixed
16303         * docs/gst/gstreamer.types:
16304           remove thread
16305
16306 2005-03-22  Wim Taymans  <wim@fluendo.com>
16307
16308         * check/Makefile.am:
16309         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16310         * gst/gststructure.c: (gst_structure_set_valist),
16311         (gst_structure_copy_conditional):
16312         Activated more tests.
16313         Added message test.
16314         Added G_TYPE_POINTER to GstStructure.
16315         
16316
16317 2005-03-22  Wim Taymans  <wim@fluendo.com>
16318
16319         * docs/design/part-TODO.txt:
16320         * docs/design/part-events.txt:
16321         * docs/design/part-gstbin.txt:
16322         * docs/design/part-gstbus.txt:
16323         * docs/design/part-gstpipeline.txt:
16324         * docs/design/part-messages.txt:
16325         * gst/gstbus.c:
16326         * gst/gstmessage.c:
16327         Docs updates
16328
16329 2005-03-21  Wim Taymans  <wim@fluendo.com>
16330
16331         * gst/gstbus.c: (gst_bus_post):
16332         Fix copy-and-paste error.
16333
16334 2005-03-21  Wim Taymans  <wim@fluendo.com>
16335
16336         * check/Makefile.am:
16337         * gst/Makefile.am:
16338         * gst/elements/Makefile.am:
16339         * gst/elements/gstelements.c:
16340         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16341         (gst_fakesink_event), (gst_fakesink_chain):
16342         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16343         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16344         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16345         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16346         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16347         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16348         (gst_fakesrc_loop), (gst_fakesrc_activate),
16349         (gst_fakesrc_change_state):
16350         * gst/elements/gstfakesrc.h:
16351         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16352         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16353         (gst_filesrc_open_file), (gst_filesrc_loop),
16354         (gst_filesrc_activate), (gst_filesrc_change_state),
16355         (filesrc_find_peek), (filesrc_find_suggest),
16356         (gst_filesrc_type_find):
16357         * gst/elements/gstidentity.c: (gst_identity_finalize),
16358         (gst_identity_class_init), (gst_identity_init),
16359         (gst_identity_proxy_getcaps), (identity_queue_push),
16360         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16361         (gst_identity_getrange), (gst_identity_chain),
16362         (gst_identity_sink_loop), (gst_identity_src_loop),
16363         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16364         (gst_identity_set_property), (gst_identity_get_property),
16365         (gst_identity_change_state):
16366         * gst/elements/gstidentity.h:
16367         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16368         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16369         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16370         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16371         (gst_tee_sink_activate):
16372         * gst/elements/gsttee.h:
16373         * gst/gst.c: (gst_register_core_elements), (init_post):
16374         * gst/gst.h:
16375         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16376         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16377         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16378         (gst_bin_change_state):
16379         * gst/gstbin.h:
16380         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16381         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16382         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16383         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16384         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16385         (bus_watch_callback), (bus_watch_destroy),
16386         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16387         (poll_timeout), (gst_bus_poll):
16388         * gst/gstbus.h:
16389         * gst/gstcaps.h:
16390         * gst/gstdata.h:
16391         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16392         (gst_element_post_message), (gst_element_message_full),
16393         (gst_element_get_state_func), (gst_element_get_state),
16394         (gst_element_abort_state), (gst_element_commit_state),
16395         (gst_element_lost_state), (gst_element_set_state),
16396         (gst_element_pads_activate), (gst_element_change_state),
16397         (gst_element_dispose), (gst_element_set_manager_func),
16398         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16399         (gst_element_set_manager), (gst_element_get_manager),
16400         (gst_element_set_bus), (gst_element_get_bus),
16401         (gst_element_set_scheduler), (gst_element_get_scheduler):
16402         * gst/gstelement.h:
16403         * gst/gstevent.c: (gst_event_new_segment_seek),
16404         (gst_event_new_flush):
16405         * gst/gstevent.h:
16406         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16407         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16408         (gst_message_new_eos), (gst_message_new_error),
16409         (gst_message_new_warning), (gst_message_new_tag),
16410         (gst_message_new_state_changed), (gst_message_new_application),
16411         (gst_message_get_structure), (gst_message_parse_tag),
16412         (gst_message_parse_state_changed), (gst_message_parse_error),
16413         (gst_message_parse_warning):
16414         * gst/gstmessage.h:
16415         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16416         (gst_real_pad_set_property), (gst_pad_set_active),
16417         (gst_pad_is_active), (gst_pad_set_blocked_async),
16418         (gst_pad_set_blocked), (gst_pad_is_blocked),
16419         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16420         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16421         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16422         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16423         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16424         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16425         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16426         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16427         (gst_pad_set_caps), (gst_pad_configure_sink),
16428         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16429         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16430         (gst_real_pad_dispose), (gst_real_pad_finalize),
16431         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16432         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16433         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16434         * gst/gstpad.h:
16435         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16436         (pipeline_bus_handler), (gst_pipeline_change_state),
16437         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16438         * gst/gstpipeline.h:
16439         * gst/gstprobe.h:
16440         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16441         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16442         (gst_queue_link_src), (gst_queue_bufferalloc),
16443         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16444         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16445         (gst_queue_loop), (gst_queue_handle_src_event),
16446         (gst_queue_handle_src_query), (gst_queue_src_activate),
16447         (gst_queue_change_state):
16448         * gst/gstqueue.h:
16449         * gst/gstscheduler.c: (gst_scheduler_init),
16450         (gst_scheduler_dispose), (gst_scheduler_create_task),
16451         (gst_scheduler_factory_create):
16452         * gst/gstscheduler.h:
16453         * gst/gststructure.c: (gst_structure_get_type),
16454         (gst_structure_copy_conditional):
16455         * gst/gststructure.h:
16456         * gst/gsttaginterface.h:
16457         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16458         (gst_task_init), (gst_task_dispose), (gst_task_create),
16459         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16460         (gst_task_pause):
16461         * gst/gsttask.h:
16462         * gst/gstthread.c:
16463         * gst/gstthread.h:
16464         * gst/gsttypes.h:
16465         * gst/schedulers/Makefile.am:
16466         * gst/schedulers/cothreads_compat.h:
16467         * gst/schedulers/entryscheduler.c:
16468         * gst/schedulers/faircothreads.c:
16469         * gst/schedulers/faircothreads.h:
16470         * gst/schedulers/fairscheduler.c:
16471         * gst/schedulers/gstbasicscheduler.c:
16472         * gst/schedulers/gstoptimalscheduler.c:
16473         * gst/schedulers/gthread-cothreads.h:
16474         * gst/schedulers/threadscheduler.c:
16475         (gst_thread_scheduler_task_get_type),
16476         (gst_thread_scheduler_task_class_init),
16477         (gst_thread_scheduler_task_init),
16478         (gst_thread_scheduler_task_start),
16479         (gst_thread_scheduler_task_stop),
16480         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16481         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16482         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16483         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16484         (plugin_init):
16485         * libs/gst/Makefile.am:
16486         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16487         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16488         (gst_file_pad_parent_set):
16489         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16490         (gst_dp_event_from_packet):
16491         * tests/complexity.c: (main):
16492         * tests/mass_elements.c: (main):
16493         * testsuite/states/locked.c: (message_received), (main):
16494         * testsuite/states/parent.c: (main):
16495         * tools/gst-inspect.c: (print_element_flag_info),
16496         (print_implementation_info), (print_pad_info):
16497         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16498         (main):
16499         * tools/gst-md5sum.c: (event_loop), (main):
16500         * tools/gst-typefind.c: (main):
16501         * tools/gst-xmlinspect.c: (print_element_info):
16502         Next big merge.
16503         Added GstBus for mainloop integration.
16504         Added GstMessage for sending notifications on the bus.
16505         Added GstTask as an abstraction for pipeline entry points.
16506         Removed GstThread.
16507         Removed Schedulers.
16508         Simplified GstQueue for multithreaded core.
16509         Made _link threadsafe, removed old capsnego.
16510         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
16511         Added pad blocking functions.
16512         Reworked scheduling functions in GstPad to prepare for
16513         scheduling updates soon.
16514         Moved events out of data stream.
16515         Simplified GstEvent types.
16516         Added return values to push/pull.
16517         Removed clocking from GstElement.
16518         Added prototypes for state change function for next merge.
16519         Removed iterate from bins and state change management.
16520         Fixed some elements, disabled others for now.
16521         Fixed -inspect and -launch.
16522         Added check for GstBus.
16523
16524 2005-03-10  Wim Taymans  <wim@fluendo.com>
16525
16526         * docs/design/part-MT-refcounting.txt:
16527         * docs/design/part-clocks.txt:
16528         * docs/design/part-gstelement.txt:
16529         * docs/design/part-gstobject.txt:
16530         * docs/design/part-standards.txt:
16531         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16532         (gst_bin_remove_func), (gst_bin_remove):
16533         * gst/gstbin.h:
16534         * gst/gstbuffer.c:
16535         * gst/gstcaps.h:
16536         * testsuite/clock/clock1.c: (main):
16537         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
16538         (main):
16539         * testsuite/dlopen/loadgst.c: (do_test):
16540         * testsuite/refcounting/bin.c: (add_remove_test1),
16541         (add_remove_test2), (main):
16542         * testsuite/refcounting/element.c: (main):
16543         * testsuite/refcounting/element_pad.c: (main):
16544         * testsuite/refcounting/pad.c: (main):
16545         * tools/gst-launch.c: (sigint_handler_sighandler):
16546         * tools/gst-typefind.c: (main):
16547         Doc updates.
16548         Added doc about clock.
16549         removed gst_bin_iterate_recurse_up(), marked methods
16550         for removal.
16551         Fix more testsuites.
16552
16553 2005-03-09  Wim Taymans  <wim@fluendo.com>
16554
16555         * gst/gstpad.c: (gst_pad_get_direction),
16556         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
16557         (gst_pad_collect_valist):
16558         * testsuite/bins/interface.c: (main):
16559         * testsuite/caps/audioscale.c: (test_caps):
16560         * testsuite/caps/caps.c: (test1), (test2), (test3):
16561         * testsuite/caps/deserialize.c: (main):
16562         * testsuite/caps/enumcaps.c: (main):
16563         * testsuite/caps/filtercaps.c: (main):
16564         * testsuite/caps/intersect2.c: (main):
16565         * testsuite/caps/random.c: (main):
16566         * testsuite/caps/renegotiate.c: (my_fixate), (main):
16567         * testsuite/caps/sets.c: (check_caps):
16568         * testsuite/caps/simplify.c: (check_caps), (main):
16569         * testsuite/caps/subtract.c: (check_caps):
16570         Fix _pad_get_direction wrt ghostpads.
16571         Fix caps testsuite.
16572
16573 2005-03-09  Wim Taymans  <wim@fluendo.com>
16574
16575         * check/Makefile.am:
16576         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
16577         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
16578         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
16579         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
16580         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
16581         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
16582         (gst_bin_remove), (gst_bin_iterate_recurse_up),
16583         (bin_element_is_sink), (gst_bin_iterate_sinks),
16584         (gst_bin_iterate_all_by_interface):
16585         * gst/gstbin.h:
16586         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
16587         (gst_element_change_state), (gst_element_dispose),
16588         (gst_element_finalize), (gst_element_set_loop_function):
16589         * gst/gstelement.h:
16590         * gst/gstiterator.c: (find_custom_fold_func):
16591         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16592         (gst_pad_collectv), (gst_pad_collect_valist),
16593         (gst_pad_template_new):
16594         * gst/gstpipeline.c: (gst_pipeline_class_init),
16595         (gst_pipeline_dispose), (gst_pipeline_set_property),
16596         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
16597         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
16598         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
16599         * gst/gstutils.h:
16600         * gst/schedulers/entryscheduler.c:
16601         * gst/schedulers/gstbasicscheduler.c:
16602         (gst_basic_scheduler_cothreaded_chain),
16603         (gst_basic_scheduler_chain_add_element):
16604         * testsuite/bins/interface.c: (main):
16605         Added GstBin test.
16606         Added GstSystemClock test.
16607         Implemented clock distribution code in GstBin.
16608         Implemented iterate sinks method for future use.
16609         Rearranged gstelement.h
16610         Fix GstIterator comparison bug.
16611         Moved some code to GstPipeline, mostly clocking related.
16612
16613 2005-03-09  Wim Taymans  <wim@fluendo.com>
16614
16615         * configure.ac:
16616         * gst/gst_private.h:
16617         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16618         (gst_bin_remove_func), (gst_bin_remove),
16619         (gst_bin_get_by_name_recurse_up):
16620         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
16621         (gst_clock_id_compare_func), (gst_clock_id_wait),
16622         (gst_clock_id_wait_async), (gst_clock_init),
16623         (gst_clock_adjust_unlocked), (gst_clock_get_time):
16624         * gst/gstelement.h:
16625         * gst/gstinfo.c: (_gst_debug_init):
16626         * gst/gstobject.h:
16627         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16628         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
16629         * gst/gstpad.h:
16630         Bump version number, we're now 0.9.0
16631         Add future debugging category.
16632         Fix NULL _unref() in _get_by_name_recurse_up
16633         Rearrange gstpad.h.
16634         Update some docs.
16635
16636 2005-03-08  Wim Taymans  <wim@fluendo.com>
16637
16638         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
16639         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
16640         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16641         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
16642         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
16643         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
16644         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
16645         * gst/elements/gstidentity.c: (gst_identity_class_init):
16646         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
16647         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
16648         * gst/elements/gstshaper.c: (gst_shaper_class_init):
16649         * gst/elements/gststatistics.c: (gst_statistics_class_init):
16650         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
16651         (gst_tee_link):
16652         * gst/gstelement.c: (gst_element_class_init),
16653         (gst_element_base_class_init), (gst_element_init),
16654         (gst_element_get_random_pad), (gst_element_wait_state_change),
16655         (gst_element_change_state), (gst_element_dispose),
16656         (gst_element_finalize), (gst_element_set_loop_function):
16657         * gst/gstelement.h:
16658         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
16659         * gst/gstthread.c: (gst_thread_class_init),
16660         (gst_thread_release_children_locks), (gst_thread_change_state):
16661         * gst/schedulers/gstbasicscheduler.c:
16662         (gst_basic_scheduler_loopfunc_wrapper),
16663         (gst_basic_scheduler_chain_wrapper),
16664         (gst_basic_scheduler_src_wrapper),
16665         (gst_basic_scheduler_remove_element):
16666         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
16667         Remove threadsafe properties. Fix elements because GObject
16668         complains when installing a property before declaring a
16669         set/get_property handler.
16670         Rearrange gstelement.h file, use STATE macros for state locks.
16671         Free mutexes in the finalize method instead of dispose.
16672
16673 2005-03-08  Wim Taymans  <wim@fluendo.com>
16674
16675         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16676         * gst/gstthread.c: (gst_thread_release_children_locks):
16677         Added parentage check.
16678         Fix build og GstThread again.
16679
16680 2005-03-08  Wim Taymans  <wim@fluendo.com>
16681
16682         * docs/design/part-MT-refcounting.txt:
16683         * docs/design/part-conventions.txt:
16684         * docs/design/part-gstobject.txt:
16685         * docs/design/part-relations.txt:
16686         * docs/design/part-standards.txt:
16687         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16688         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
16689         (gst_bin_get_by_name), (gst_bin_get_by_interface),
16690         (gst_bin_iterate_all_by_interface):
16691         * gst/gstbuffer.h:
16692         * gst/gstclock.h:
16693         * gst/gstelement.c: (gst_element_class_init),
16694         (gst_element_change_state), (gst_element_set_loop_function):
16695         * gst/gstelement.h:
16696         * gst/gstiterator.c:
16697         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
16698         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
16699         (gst_object_dispatch_properties_changed), (gst_object_set_name),
16700         (gst_object_set_parent), (gst_object_unparent),
16701         (gst_object_check_uniqueness):
16702         * gst/gstobject.h:
16703         Docs updates, clean up some headers.
16704
16705 2005-03-07  Wim Taymans  <wim@fluendo.com>
16706
16707         * check/.cvsignore:
16708         * check/Makefile.am:
16709         * check/gst-libs/.cvsignore:
16710         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
16711         * check/gst/.cvsignore:
16712         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
16713         (START_TEST), (gstbus_suite), (main):
16714         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
16715         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
16716         (gst_data_suite), (main):
16717         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
16718         (add_fold_func), (gstiterator_suite), (main):
16719         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
16720         (thread_name_object), (thread_name_object_default),
16721         (gst_object_name_compare), (gst_object_suite), (main):
16722         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
16723         (gst_pad_suite), (main):
16724         * check/gstcheck.c: (gst_check_log_message_func),
16725         (gst_check_log_critical_func), (gst_check_init):
16726         * check/gstcheck.h:
16727         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16728         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16729         Added checks.
16730
16731 2005-03-07  Wim Taymans  <wim@fluendo.com>
16732
16733         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16734         (gst_list_iterator_next), (gst_list_iterator_resync),
16735         (gst_list_iterator_free), (gst_iterator_new_list),
16736         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16737         (gst_iterator_free), (gst_iterator_push), (filter_next),
16738         (filter_resync), (filter_uninit), (filter_free),
16739         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16740         (gst_iterator_foreach), (find_custom_fold_func),
16741         (gst_iterator_find_custom):
16742         * gst/gstiterator.h:
16743         Added missing files.
16744
16745 2005-03-07  Wim Taymans  <wim@fluendo.com>
16746
16747         * Makefile.am:
16748         * configure.ac:
16749         * docs/design/part-MT-refcounting.txt:
16750         * docs/design/part-conventions.txt:
16751         * docs/design/part-gstobject.txt:
16752         * docs/design/part-relations.txt:
16753         * examples/mixer/mixer.c: (main):
16754         * examples/thread/thread.c: (eos), (main):
16755         * gst/Makefile.am:
16756         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16757         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16758         (gst_spider_plug_from_srcpad):
16759         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16760         (gst_spider_identity_change_state),
16761         (gst_spider_identity_sink_loop_type_finding):
16762         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16763         * gst/elements/gstidentity.c: (gst_identity_init):
16764         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16765         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16766         * gst/elements/gsttypefindelement.c: (free_entry):
16767         * gst/gst.c:
16768         * gst/gst.h:
16769         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16770         (gst_bin_set_clock_func), (gst_bin_auto_clock),
16771         (gst_bin_set_index), (gst_bin_set_element_sched),
16772         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16773         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16774         (gst_bin_iterate_elements), (iterate_child_recurse),
16775         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16776         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16777         (compare_interface), (gst_bin_get_by_interface),
16778         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16779         * gst/gstbin.h:
16780         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16781         (gst_buffer_default_free), (gst_buffer_default_copy),
16782         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16783         (gst_buffer_create_sub):
16784         * gst/gstbuffer.h:
16785         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16786         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16787         (gst_caps_unref), (gst_static_caps_get),
16788         (gst_caps_remove_and_get_structure), (gst_caps_append),
16789         (gst_caps_append_structure), (gst_caps_remove_structure),
16790         (gst_caps_copy_nth), (gst_caps_set_simple),
16791         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16792         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16793         (gst_caps_structure_intersect_field), (gst_caps_intersect),
16794         (gst_caps_structure_subtract_field), (gst_caps_subtract),
16795         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16796         (gst_caps_structure_figure_out_union),
16797         (gst_caps_switch_structures), (gst_caps_do_simplify),
16798         (gst_caps_replace), (gst_caps_from_string),
16799         (gst_caps_copy_conditional):
16800         * gst/gstcaps.h:
16801         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16802         (_gst_clock_id_free), (gst_clock_id_unref),
16803         (gst_clock_id_compare_func), (gst_clock_id_wait),
16804         (gst_clock_id_wait_async), (gst_clock_class_init),
16805         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16806         (gst_clock_get_time), (gst_clock_set_time_adjust),
16807         (gst_clock_set_property), (gst_clock_get_property):
16808         * gst/gstclock.h:
16809         * gst/gstcompat.h:
16810         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16811         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16812         * gst/gstdata.h:
16813         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16814         (gst_element_requires_clock), (gst_element_provides_clock),
16815         (gst_element_set_clock), (gst_element_clock_wait),
16816         (gst_element_wait), (gst_element_set_time_delay),
16817         (gst_element_is_indexable), (gst_element_add_pad),
16818         (gst_element_add_ghost_pad), (gst_element_remove_pad),
16819         (pad_compare_name), (gst_element_get_static_pad),
16820         (gst_element_request_pad), (gst_element_get_request_pad),
16821         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16822         (gst_element_class_get_pad_template_list),
16823         (gst_element_class_get_pad_template), (gst_element_error_func),
16824         (gst_element_get_random_pad), (gst_element_get_event_masks),
16825         (gst_element_send_event), (gst_element_seek),
16826         (gst_element_get_query_types), (gst_element_query),
16827         (gst_element_get_formats), (gst_element_convert),
16828         (gst_element_is_locked_state), (gst_element_set_locked_state),
16829         (gst_element_sync_state_with_parent), (gst_element_change_state),
16830         (gst_element_finalize), (gst_element_yield),
16831         (gst_element_interrupt), (gst_element_set_scheduler),
16832         (gst_element_get_scheduler), (gst_element_set_loop_function):
16833         * gst/gstelement.h:
16834         * gst/gstevent.h:
16835         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16836         (gst_format_get_by_nick), (gst_format_get_details),
16837         (gst_format_iterate_definitions):
16838         * gst/gstformat.h:
16839         * gst/gstindex.c: (gst_index_gtype_resolver):
16840         * gst/gstinfo.c:
16841         * gst/gstinfo.h:
16842         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16843         (gst_mem_chunk_free):
16844         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16845         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16846         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16847         (gst_object_dispatch_properties_changed),
16848         (gst_object_set_name_default), (gst_object_set_name),
16849         (gst_object_get_name), (gst_object_set_name_prefix),
16850         (gst_object_get_name_prefix), (gst_object_set_parent),
16851         (gst_object_get_parent), (gst_object_unparent),
16852         (gst_object_check_uniqueness), (gst_object_save_thyself),
16853         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16854         (gst_object_set_property), (gst_object_get_property),
16855         (gst_object_get_path_string):
16856         * gst/gstobject.h:
16857         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16858         (gst_real_pad_init), (gst_real_pad_get_property),
16859         (gst_pad_custom_new), (gst_pad_get_direction),
16860         (gst_pad_set_active), (gst_pad_is_active),
16861         (gst_pad_set_event_function), (gst_pad_is_linked),
16862         (gst_pad_link_free), (gst_pad_link_intersect),
16863         (gst_pad_link_fixate), (gst_pad_set_caps),
16864         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16865         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16866         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16867         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16868         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16869         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16870         (gst_pad_realize), (gst_pad_get_allowed_caps),
16871         (gst_real_pad_dispose), (gst_real_pad_finalize),
16872         (gst_pad_collectv), (gst_pad_collect_valist),
16873         (gst_pad_template_dispose), (gst_pad_template_new),
16874         (gst_pad_get_internal_links):
16875         * gst/gstpad.h:
16876         * gst/gstpipeline.c: (gst_pipeline_dispose),
16877         (gst_pipeline_change_state):
16878         * gst/gstpipeline.h:
16879         * gst/gstplugin.c:
16880         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16881         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16882         * gst/gstpluginfeature.h:
16883         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16884         * gst/gstquery.c: (_gst_query_type_initialize),
16885         (gst_query_type_register), (gst_query_type_get_by_nick),
16886         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16887         * gst/gstquery.h:
16888         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16889         * gst/gstscheduler.c: (gst_scheduler_add_element),
16890         (gst_scheduler_factory_create):
16891         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16892         (gst_structure_free), (gst_structure_set_name),
16893         (gst_structure_id_set_value), (gst_structure_set_value),
16894         (gst_structure_set_valist), (gst_structure_remove_field),
16895         (gst_structure_remove_fields),
16896         (gst_structure_remove_fields_valist),
16897         (gst_structure_remove_all_fields), (gst_structure_foreach),
16898         (gst_structure_map_in_place),
16899         (gst_caps_structure_fixate_field_nearest_int),
16900         (gst_caps_structure_fixate_field_nearest_double):
16901         * gst/gststructure.h:
16902         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16903         (gst_system_clock_init), (gst_system_clock_dispose),
16904         (gst_system_clock_async_thread),
16905         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16906         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16907         * gst/gstsystemclock.h:
16908         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16909         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16910         * gst/gsttaginterface.c:
16911         * gst/gstthread.c: (gst_thread_dispose),
16912         (gst_thread_release_children_locks), (gst_thread_change_state),
16913         (gst_thread_main_loop):
16914         * gst/gsttrashstack.h:
16915         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16916         * gst/gsttypes.h:
16917         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16918         (gst_element_request_pad), (gst_element_get_pad_from_template),
16919         (gst_element_request_compatible_pad),
16920         (gst_element_get_compatible_pad_filtered),
16921         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16922         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16923         (gst_element_link_many), (gst_element_link),
16924         (gst_element_link_pads), (gst_element_unlink_pads),
16925         (gst_element_unlink_many), (gst_element_unlink),
16926         (gst_pad_can_link_filtered), (gst_pad_can_link),
16927         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16928         (gst_object_default_error), (gst_bin_add_many),
16929         (gst_bin_remove_many), (gst_element_populate_std_props),
16930         (gst_element_class_install_std_props), (gst_buffer_merge),
16931         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16932         (link_fold_func), (gst_pad_proxy_setcaps):
16933         * gst/gstutils.h:
16934         * gst/gstvalue.c: (gst_value_deserialize_string):
16935         * gst/parse/grammar.y:
16936         * gst/schedulers/gstbasicscheduler.c:
16937         (gst_basic_scheduler_cothreaded_chain),
16938         (gst_basic_scheduler_chain_recursive_add),
16939         (gst_basic_scheduler_pad_link):
16940         * gst/schedulers/gstoptimalscheduler.c:
16941         (get_group_schedule_function),
16942         (gst_opt_scheduler_state_transition),
16943         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16944         * libs/gst/bytestream/bytestream.c:
16945         * libs/gst/dataprotocol/dataprotocol.c:
16946         (gst_dp_header_from_buffer):
16947         * po/nb.po:
16948         * po/ru.po:
16949         * tests/threadstate/threadstate2.c: (eos):
16950         * tools/gst-compprep.c: (main):
16951         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16952         (print_pad_info), (print_children_info):
16953         * tools/gst-launch.c: (idle_func), (main):
16954         * tools/gst-md5sum.c: (idle_func), (main):
16955         * tools/gst-xmlinspect.c: (print_element_info):
16956         First THREADED backport attempt, focusing on adding locks and
16957         making sure the API is threadsafe. Needs more work. More docs
16958         follow this week.
16959
16960 2005-02-24  Andy Wingo  <wingo@pobox.com>
16961
16962         * tests/bench-complexity.scm:
16963         * tests/complexity.gnuplot: New files, good for running complexity
16964         benchmarks.
16965
16966         * tests/Makefile.am:
16967         * tests/complexity.c: New test, sets up N elements, at each level
16968         teeing into M streams per element. Eeeenteresting.
16969
16970         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16971         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16972         running bench-mass_elements.scm.
16973
16974         * tests/bench-mass_elements.scm: New script, runs mass_elements
16975         for various numbers of identities, outputting the results to a
16976         file. Requires guile 1.6. Just for testing.
16977
16978 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16979
16980         * gst/schedulers/fairscheduler.c:
16981           compile with debug disabled
16982
16983 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16984
16985         * configure.ac:
16986           hunting season on 0.9 is now OPEN