gst/gstcaps.*: Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-20  Edward Hervey  <edward@fluendo.com>
2
3         * gst/gstcaps.c: (gst_static_caps_get_type):
4         * gst/gstcaps.h:
5         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
7         * gst/gstpadtemplate.h:
8         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9         bindings.
10
11 2005-12-18  Wim Taymans  <wim@fluendo.com>
12
13         * libs/gst/base/gstadapter.c:
14         * libs/gst/base/gstadapter.h:
15         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16         (gst_base_sink_get_position):
17         * libs/gst/base/gstbasesink.h:
18         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
19         (gst_base_src_default_query), (gst_base_src_default_do_seek),
20         (gst_base_src_do_seek), (gst_base_src_perform_seek),
21         (gst_base_src_send_event), (gst_base_src_update_length),
22         (gst_base_src_get_range), (gst_base_src_loop),
23         (gst_base_src_start):
24         * libs/gst/base/gstbasesrc.h:
25         * libs/gst/base/gstbasetransform.h:
26         * libs/gst/base/gstcollectpads.h:
27         * libs/gst/base/gstpushsrc.c:
28         * libs/gst/base/gstpushsrc.h:
29         * libs/gst/dataprotocol/dataprotocol.c:
30         * libs/gst/dataprotocol/dataprotocol.h:
31         * libs/gst/net/gstnetclientclock.h:
32         * libs/gst/net/gstnettimeprovider.h:
33         Documentation updates.
34
35 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
36
37         * docs/manual/basics-helloworld.xml:
38           Remove superfluous closing bracket in helloworld example.
39
40 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
41
42         * tools/gst-launch.1.in:
43           Update gst-launch man page; add a section with useful
44           environment variables. Fixes #323882.
45
46 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
47
48         * gst/gst.c:
49         * gst/gst_private.h:
50           change some char* into char[]
51
52 2005-12-16  Wim Taymans  <wim@fluendo.com>
53
54         * gst/gstregistryxml.c: (load_feature):
55         Cleanups.
56         Don't use g_object_unref on GstObjects so that we avoid
57         leaks on unsafe glibs.
58
59 2005-12-16  Wim Taymans  <wim@fluendo.com>
60
61         * gst/gstbin.c: (gst_bin_recalc_state):
62         Small doc updates.
63
64 2005-12-16  Wim Taymans  <wim@fluendo.com>
65
66         * common/check.mak:
67         Added make forever target for check.
68
69 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
70
71         * gst/gst.c: (init_post):
72           make the registry cache file HOST_CPU-dependent
73
74 2005-12-16  Andy Wingo  <wingo@pobox.com>
75
76         * plugins/elements/gstbufferstore.c
77         (gst_buffer_store_cleared_func): Pay attention to g_list_append
78         return value.
79
80         * tests/check/gst/gstobject.c
81         (test_fake_object_name_threaded_unique): Pay attention to
82         g_list_sort return value.
83
84 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
85
86         * tools/gst-feedback-m.m:
87           Update for 0.9/0.10 (fixes #323870).
88
89 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
90
91         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
92           Fix lcopy for mini objects, the mini object needs to be ref'ed.
93           
94         * tests/check/gst/gstminiobject.c: (my_foo_init),
95         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
96         (test_value_collection), (gst_mini_object_suite):
97           Add test to ensure refcounts end up as expected when passing
98           GstMiniObjects through g_object_get() and g_object_set().
99
100 2005-12-14  Julien MOUTTE  <julien@moutte.net>
101
102         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
103         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
104         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
105         of collectpads. This version removes a lot of races without
106         touching API/ABI. Yay !
107
108 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
109
110         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
111           Don't allow activation of a srcpad in pull_range if it has no
112           getrange function.
113           Change some debug statements to be a little clearer
114
115         * plugins/elements/gsttypefindelement.c:
116         (gst_type_find_handle_src_query):
117           Check that we have a peer before executing queries thereupon.
118
119         * tests/examples/metadata/read-metadata.c: (message_loop):
120           Use gst_bus_pop instead of gst_bus_poll when we just want it to
121           immediately return us any available message with 0 timeout.
122
123 2005-12-12  Michael Smith  <msmith@fluendo.com>
124
125         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
126           Don't unref factories after calling them.
127         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
128         * plugins/elements/gsttypefindelement.c:
129         (gst_type_find_element_chain):
130           Free lists of factories after using them. Fixing typefinding memory
131           leaks.
132
133 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
134
135         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
136         (gst_plugin_feature_load):
137           more meaningful debug output
138         * configure.ac:
139         * tests/Makefile.am:
140         * tests/old/examples/Makefile.am:
141           make make distcheck happy again
142
143 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
144
145         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
146           Catch the special case where we are operating chain-based,
147           but the downstream peer pad has no chain function. Emit a
148           custom error message in this case instead of letting the
149           core generate one implying that this is some sort of core
150           bug. It's not, it just means that whatever got plugged
151           into the pipeline downstream when we announced the type
152           can only operate pull-based, while our source can only
153           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
154           Error string has not been marked for translation yet, as
155           it probably needs some more work first.
156
157         (gst_type_find_element_get_best_possibility):
158           Add helper function to find the best of all available
159           found possibilities that qualify given the min. threshold.
160
161         (gst_type_find_element_handle_event):
162           Fix the case where we get an EOS while still in TYPEFIND
163           mode (we want to chose the best of all possible types,
164           not just the first type that happens to be in our unsorted
165           list of possible types).
166
167         (gst_type_find_element_chain):
168           Make sure we return GST_FLOW_ERROR when we errored out
169           in stop_typefinding(); also, don't just find the best of
170           all found type entries and then use the last examined
171           type entry, but actually use the best entry.
172
173 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
174
175         * tests/examples/typefind/typefind.c: (type_found):
176         * tests/examples/xml/runxml.c: (xml_loaded):
177           More gcc4 fixes and a mem leak fix.
178
179 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
180
181         * tests/examples/xml/createxml.c: (object_saved):
182           gcc 4 fixes
183
184 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
185
186         * tests/Makefile.am:
187           enable the examples even more
188
189 2005-12-12  Andy Wingo  <wingo@pobox.com>
190
191         * libs/gst/net/gstnettimeprovider.c
192         (gst_net_time_provider_class_init, gst_net_time_provider_init)
193         (gst_net_time_provider_set_property)
194         (gst_net_time_provider_get_property): Export "active" as a GObject
195         property.
196         (gst_net_time_provider_thread): Only respond to time queries if
197         the time provider is active.
198
199         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
200         NetTimeProvider, preserving binary compat.
201
202 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
203
204         * tests/examples/controller/audio-example.c: (main):
205         * tests/examples/launch/Makefile.am:
206           convert comments again
207
208 2005-12-12  Wim Taymans  <wim@fluendo.com>
209
210         * libs/gst/base/gstpushsrc.c:
211         Fix typo.
212
213 2005-12-12  Wim Taymans  <wim@fluendo.com>
214
215         * docs/libs/gstreamer-libs-sections.txt:
216         Added new symbol to docs.
217
218         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
219         (gst_base_src_init), (gst_base_src_set_format),
220         (gst_base_src_default_query), (gst_base_src_query),
221         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
222         (gst_base_src_perform_seek), (gst_base_src_send_event),
223         (gst_base_src_default_event), (gst_base_src_event_handler),
224         (gst_base_src_set_property), (gst_base_src_get_property),
225         (gst_base_src_wait), (gst_base_src_do_sync),
226         (gst_base_src_update_length), (gst_base_src_get_range),
227         (gst_base_src_check_get_range), (gst_base_src_loop),
228         (gst_base_src_default_negotiate), (gst_base_src_start),
229         (gst_base_src_activate_push), (gst_base_src_activate_pull),
230         (gst_base_src_change_state):
231         * libs/gst/base/gstbasesrc.h:
232         Implement seeking to other formats than _BYTES.
233         Implement more seeking methods correctly.
234         Doc updates.
235         Added query vmethod.
236         Added do_seek vmethod to make life easier for subclasses
237         when seeking.
238         API addition: gst_base_src_set_format()
239
240 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
241
242         * tests/examples/Makefile.am:
243           added that too
244
245 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
246
247         * configure.ac:
248         * docs/random/ensonic/media-device-daemon.txt:
249         * tests/examples/controller/.cvsignore:
250         * tests/examples/controller/Makefile.am:
251         * tests/examples/controller/audio-example.c: (main):
252         * tests/examples/helloworld/.cvsignore:
253         * tests/examples/helloworld/Makefile.am:
254         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
255         * tests/examples/launch/.cvsignore:
256         * tests/examples/launch/Makefile.am:
257         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
258         * tests/examples/metadata/.cvsignore:
259         * tests/examples/metadata/Makefile.am:
260         * tests/examples/metadata/read-metadata.c: (message_loop),
261         (make_pipeline), (print_tag), (main):
262         * tests/examples/queue/.cvsignore:
263         * tests/examples/queue/Makefile.am:
264         * tests/examples/queue/queue.c: (event_loop), (main):
265         * tests/examples/typefind/.cvsignore:
266         * tests/examples/typefind/Makefile.am:
267         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
268         (main):
269         * tests/examples/xml/.cvsignore:
270         * tests/examples/xml/Makefile.am:
271         * tests/examples/xml/createxml.c: (object_saved), (main):
272         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
273         * tests/old/examples/Makefile.am:
274         * tests/old/examples/TODO:
275         * tests/old/examples/controller/.cvsignore:
276         * tests/old/examples/controller/Makefile.am:
277         * tests/old/examples/controller/audio-example.c:
278         * tests/old/examples/helloworld/.cvsignore:
279         * tests/old/examples/helloworld/Makefile.am:
280         * tests/old/examples/helloworld/helloworld.c:
281         * tests/old/examples/launch/.cvsignore:
282         * tests/old/examples/launch/Makefile.am:
283         * tests/old/examples/launch/mp3parselaunch.c:
284         * tests/old/examples/launch/mp3play:
285         * tests/old/examples/manual/Makefile.am:
286         * tests/old/examples/metadata/Makefile.am:
287         * tests/old/examples/metadata/read-metadata.c:
288         * tests/old/examples/queue/.cvsignore:
289         * tests/old/examples/queue/Makefile.am:
290         * tests/old/examples/queue/queue.c:
291         * tests/old/examples/typefind/.cvsignore:
292         * tests/old/examples/typefind/Makefile.am:
293         * tests/old/examples/typefind/typefind.c:
294         * tests/old/examples/xml/.cvsignore:
295         * tests/old/examples/xml/Makefile.am:
296         * tests/old/examples/xml/createxml.c:
297         * tests/old/examples/xml/runxml.c:
298           applied some simple fixing to some examples
299           re-enabled the working examples
300
301 2005-12-12  Wim Taymans  <wim@fluendo.com>
302
303         * gst/gstsegment.c: (gst_segment_init),
304         (gst_segment_set_last_stop), (gst_segment_set_seek),
305         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
306         (gst_segment_to_running_time):
307         Added more documentation.
308         Make sure the last_pos value is updated properly.
309         Make sure to_stream_time and to_running_time don't
310         operate on wrong values.
311
312         * tests/check/gst/gstsegment.c: (GST_START_TEST):
313         Update check.
314
315 2005-12-12  Michael Smith  <msmith@fluendo.com>
316
317         * plugins/elements/gsttypefindelement.c: (free_entry),
318         (gst_type_find_element_chain):
319           Now that we're not leaking factories, make sure we keep references
320           to them while we need them.
321
322 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
323
324         * tests/check/gst/struct_i386.h:
325           ifdef out the XML structs
326
327 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
328
329         * gst/gstvalue.c: (gst_value_transform_double_fraction):
330           floor is not needed, F is always positive; this obviates the
331           need for adding -lm when building without libxml
332
333 2005-12-12  Wim Taymans  <wim@fluendo.com>
334
335         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
336         Take current playback rate into account when reporting
337         the position.
338
339 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
340
341         * docs/manual/mime-world.fig:
342           Let's try this again, this time with a file that is
343           actually in XFig format.
344
345 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
346
347         * docs/manual/mime-world.fig:
348           Add audioconvert element to diagram so that it
349           matches the text and the code (fixes #319526).
350
351 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
352
353         * docs/pwg/building-chainfn.xml:
354         * docs/pwg/building-pads.xml:
355         * docs/pwg/building-state.xml:
356         * docs/pwg/other-source.xml:
357           Update state change stuff for 0.10 (fixes #322969).
358
359 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
360
361         * docs/manual/advanced-dataaccess.xml:
362         * docs/manual/appendix-checklist.xml:
363         * docs/manual/appendix-programs.xml:
364         * docs/manual/basics-pads.xml:
365         * docs/manual/highlevel-components.xml:
366         * docs/manual/manual.xml:
367           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
368           add converters in front of pipelines; remove curly
369           brackets for threads stuff, they no longer exist; use
370           GST_TYPE_FRACTION for framerates; update some pieces of
371           code to 0.10, but there's plenty more to do.
372
373         * docs/manual/appendix-porting.xml:
374           Expand on asynchroneous state changes; s/0.9/0.10/;
375           mention disappearance of gst_init_get_popt_table()
376           (fixes #322916).
377
378 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
379
380         * docs/faq/using.xml:
381           Spider no longer exists, and neither does gst-launch-ext.
382           Update examples to use decodebin and playbin and put
383           converters in front of sinks (fixes #323726).
384
385 2005-12-09  Michael Smith  <msmith@fluendo.com>
386
387         * plugins/elements/gsttypefindelement.c: (find_peek),
388         (gst_type_find_element_chain):
389           Fix leaking element factories in typefinding.
390           Fix problem where we forgot about a probable type on non-seekable
391           files, and thus later mis-typefound it.
392
393 2005-12-09  Michael Smith  <msmith@fluendo.com>
394
395         * common/m4/gst-makecontext.m4:
396         * common/m4/gst-mcsc.m4:
397         * configure.ac:
398         * win32/common/config.h:
399         * win32/common/config.h.in:
400           Remove makecontext stuff; not used in 0.10 and causes problems on
401           HPUX according to bug #322441
402
403 2005-12-07  Wim Taymans  <wim@fluendo.com>
404
405         * tests/check/Makefile.am:
406         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
407         (main):
408         * tests/check/libs/struct_i386.h:
409         Added ABI check for libs
410
411 2005-12-07  Wim Taymans  <wim@fluendo.com>
412
413         * tests/check/Makefile.am:
414         And add the struct_i386.h to dist.
415
416 2005-12-07  Wim Taymans  <wim@fluendo.com>
417
418         * tests/check/Makefile.am:
419         * tests/check/gst/.cvsignore:
420         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
421         (main):
422         * tests/check/gst/struct_i386.h:
423         Added check for ABI compatibility.
424
425 2005-12-07  Wim Taymans  <wim@fluendo.com>
426
427         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
428         (gst_fake_src_get_times), (gst_fake_src_create):
429         Fix broken sync option, fixes #323259
430
431 2005-12-07  Wim Taymans  <wim@fluendo.com>
432
433         * gst/gstbuffer.c:
434         Small docs update.
435
436         * gst/gstcaps.c: (gst_caps_is_equal):
437         Don't assert on NULL <--> X. Fixes #323260
438
439         * gst/gstminiobject.c: (gst_mini_object_replace):
440         If we're doing atomic operations, we might just as well use
441         the proper way to get an atomic pointer.
442
443         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
444         Clean up debugging.
445
446 2005-12-07  Michael Smith  <msmith@fluendo.com>
447
448         * gst/parse/grammar.y:
449           Remove handling of { } for threads.
450
451 2005-12-06  David Schleef  <ds@schleef.org>
452
453         * libs/gst/base/gstbasetransform.c: speling fix.
454
455 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         * docs/libs/tmpl/gstdataprotocol.sgml:
458         * docs/random/omega/testing/gstobject.c:
459         * gst/gst.c:
460         * gst/gstclock.c:
461         * gst/gstelement.c:
462         * gst/gstelementfactory.c:
463         * gst/gsterror.c:
464         * gst/gstevent.c:
465         * gst/gstghostpad.c:
466         * gst/gstinfo.c:
467         * gst/gstpadtemplate.c:
468         * gst/gstregistryxml.c:
469         * gst/gsttaglist.c:
470         * gst/gsttagsetter.c:
471         * gst/gsttypefind.c:
472         * gst/gstvalue.c:
473         * libs/gst/base/gstbasesrc.c:
474         * libs/gst/net/gstnetclientclock.c:
475         * libs/gst/net/gstnettimeprovider.c:
476         * plugins/elements/gstfakesrc.c:
477         * plugins/elements/gstfdsrc.c:
478         * plugins/elements/gstfilesrc.c:
479         * plugins/elements/gstidentity.c:
480         * plugins/elements/gstqueue.c:
481         * plugins/elements/gsttypefindelement.c:
482         * plugins/indexers/gstfileindex.c:
483         * plugins/indexers/gstmemindex.c:
484         * tests/check/gst/gsttag.c:
485         * tests/old/examples/cutter/cutter.c:
486         * tests/old/examples/mixer/mixer.c:
487         * tests/old/examples/xml/runxml.c: (main):
488         * tests/old/testsuite/caps/normalisation.c:
489         * tests/old/testsuite/debug/global.c:
490         * tests/old/testsuite/parse/parse1.c:
491         * tools/gst-xmlinspect.c:
492         * win32/common/dirent.c:
493           expand tabs
494
495 === release 0.10.0 ===
496
497 2005-12-05   <thomas (at) apestaart (dot) org>
498
499         * configure.ac:
500           releasing 0.10.0, "Maroilles"
501
502 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
503
504         submitted by: Funda Wang <fundawang@linux.net.cn>
505
506         * po/LINGUAS:
507         * po/zh_CN.po:
508           added Chinese (Traditional) translation
509
510 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
511
512         * docs/gst/gstreamer-sections.txt:
513         * docs/libs/tmpl/gstdataprotocol.sgml:
514         * docs/random/thomasvs/TODO:
515         * gst/gstutils.c:
516         * gst/gstutils.h:
517           fix docs
518
519 2005-12-05  Andy Wingo  <wingo@pobox.com>
520
521         patch by: Wim Taymans <wim@fluendo.com>
522
523         * libs/gst/base/gstbasetransform.c
524         (gst_base_transform_prepare_output_buf)
525         (gst_base_transform_buffer_alloc):
526         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
527         alloc_buffer_and_set_caps.
528
529         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
530         set_caps on the source pad.
531         (gst_pad_alloc_buffer_and_set_caps): New function, does what
532         alloc_buffer used to do. Fixes #322874.
533
534         * docs/gst/gstreamer-sections.txt: 
535         * docs/design/part-negotiation.txt: 
536         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
537         changes.
538
539 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
540
541         patch by: Sebastien Moutte
542
543         * win32/MANIFEST:
544         * win32/common/config.h.in:
545         * win32/vs6/libgstcontroller.dsp:
546           win32 build fixes
547
548 2005-12-05  Wim Taymans  <wim@fluendo.com>
549
550         * gst/gstcaps.c: (gst_caps_is_equal):
551         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
552         (gst_fake_src_create):
553         Back out previous code changes, leave doc updates, file bugs 
554         instead. 
555
556 2005-12-05  Wim Taymans  <wim@fluendo.com>
557
558         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
559         (gst_fake_src_get_times), (gst_fake_src_create):
560         * plugins/elements/gstfakesrc.h:
561         Fix broken sync code.
562
563 2005-12-05  Wim Taymans  <wim@fluendo.com>
564
565         * gst/gstcaps.c: (gst_caps_is_equal):
566         Comparing NULL against !NULL yields different caps, not a
567         failure.
568
569 2005-12-05  Wim Taymans  <wim@fluendo.com>
570
571         * gst/gstpipeline.c:
572         Fix small typo in docs.
573
574 2005-12-05  Andy Wingo  <wingo@pobox.com>
575
576         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
577
578         * gst/gst.c (init_post): remove hard-coded 0.9 location for
579         registries/plugins with a MAJORMINOR one.
580         (plugin_desc): Rename library from gstcoreleements to
581         staticelements. Fixes #323222.
582
583 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
584
585         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
586           Change debug category to 'collectpads' from 'collect_pads'
587           (fixes #323250).
588
589 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
590
591         patch by: Sebastien Moutte
592
593         * libs/gst/controller/gstinterpolation.c:
594           use convert function for uint64/double
595         * win32/vs6/libgstcontroller.dsp:
596           link to GLib
597
598 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
599
600         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
601         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
602         * gst/gstutils.h:
603         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
604           add tests that seem to show that the guint64/gdouble conversions
605           are correct.
606
607 2005-12-02  Wim Taymans  <wim@fluendo.com>
608
609         * gst/gstregistry.c: (gst_registry_add_path):
610         * gst/gstregistry.h:
611         * gst/gstregistryxml.c:
612         Fix docs again.
613
614 2005-12-02  Wim Taymans  <wim@fluendo.com>
615
616         * gst/gstutils.c: (gst_util_uint64_scale_int64),
617         (gst_util_uint64_scale_int):
618         Small cleanup.
619
620         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
621         Add debug log line.
622
623         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
624         Add FIXME.
625
626 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
627
628         * win32/MANIFEST:
629         * win32/common/config.h:
630         * win32/vs6/gstreamer.dsw:
631         * win32/vs6/libgstcoreelements.dsp:
632         * win32/vs6/libgstelements.dsp:
633           renamed core elements plugin
634
635 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
636
637         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
638         (get_candidates):
639           do piece-wise major/minor comparison so 0.9 < 0.10
640           also allow .exe extensions for tools
641
642 2005-12-02  Michael Smith  <msmith@fluendo.com>
643
644         * gst/gst.c:
645           Escape a % to make gtkdoc happier; bug 322958.
646
647 === release 0.9.7 ===
648
649 2005-12-01   <thomas (at) apestaart (dot) org>
650
651         * configure.ac:
652           releasing 0.9.7, "My Dog Has No Nose"
653
654 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
655
656         * common/gst-xmlinspect.py:
657         * configure.ac:
658         * docs/libs/tmpl/gstdataprotocol.sgml:
659         * docs/random/release:
660         * po/af.po:
661         * po/az.po:
662         * po/bg.po:
663         * po/ca.po:
664         * po/cs.po:
665         * po/de.po:
666         * po/en_GB.po:
667         * po/fr.po:
668         * po/it.po:
669         * po/nb.po:
670         * po/nl.po:
671         * po/ru.po:
672         * po/sq.po:
673         * po/sr.po:
674         * po/sv.po:
675         * po/tr.po:
676         * po/uk.po:
677         * po/vi.po:
678         * win32/common/config.h:
679         * win32/common/config.h.in:
680         * win32/vs6/gst_inspect.dsp:
681         * win32/vs6/gst_launch.dsp:
682         * win32/vs6/libgstbase.dsp:
683         * win32/vs6/libgstelements.dsp:
684         * win32/vs6/libgstreamer.dsp:
685         * win32/vs7/GStreamer.vcproj:
686         * win32/vs7/gst-inspect.vcproj:
687         * win32/vs7/gst-launch.vcproj:
688         * win32/vs7/libgstbase.vcproj:
689           bump GST_MAJORMINOR to 0.10
690           reset libtool version
691
692 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
693
694         * po/LINGUAS:
695         * po/bg.po:
696           Added Bulgarian translation by (Alexander Shopov)
697
698 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
699
700         * tests/check/gst/gstplugin.c:
701           fix test
702
703 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
704
705         * common/gst-xmlinspect.py:
706         * common/gtk-doc-plugins.mak:
707         * configure.ac:
708         * docs/Makefile.am:
709         * docs/gst/Makefile.am:
710         * docs/gst/gstreamer-docs.sgml:
711         * docs/gst/gstreamer-sections.txt:
712         * docs/gst/gstreamer.types:
713         * docs/gst/gstreamer.types.in:
714         * docs/plugins/Makefile.am:
715         * docs/plugins/gstreamer-plugins-docs.sgml:
716         * docs/plugins/gstreamer-plugins-sections.txt:
717         * docs/plugins/gstreamer-plugins.types:
718         * docs/plugins/inspect.stamp:
719         * docs/plugins/inspect/plugin-coreelements.xml:
720         * docs/plugins/inspect/plugin-coreindexers.xml:
721         * docs/plugins/scanobj-build.stamp:
722         * gstreamer.spec.in:
723         * plugins/elements/Makefile.am:
724         * plugins/elements/gstelements.c:
725         * plugins/elements/gstfakesink.c:
726         * plugins/elements/gstfakesrc.c:
727         * plugins/elements/gstfilesink.c:
728         * plugins/elements/gstfilesrc.c:
729         * plugins/elements/gstqueue.c:
730         * plugins/indexers/Makefile.am:
731         * plugins/indexers/gstindexers.c:
732           document core plugins in a separate document just like all the
733           others
734           rename these plugins to something starting with core
735
736 2005-12-01  Andy Wingo  <wingo@pobox.com>
737
738         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
739         padding here before, but it missed the commit.
740
741 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
742
743         * libs/gst/controller/gstinterpolation.c:
744           whitespace prices have crashed, we should feel free to use some now
745           use gst_guint64_to_gdouble
746
747 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
748
749         * libs/gst/controller/gstcontroller.c:
750         * libs/gst/controller/gsthelper.c:
751         * libs/gst/controller/gstinterpolation.c:
752         * libs/gst/controller/lib.c:
753           wrap config.h include
754
755 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
756
757         * docs/gst/gstreamer-sections.txt:
758           update docs
759
760 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
761
762         * plugins/elements/gstelements.c:
763         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
764         (gst_fd_sink__class_init), (gst_fd_sink__init),
765         (gst_fd_sink__chain), (gst_fd_sink__set_property),
766         (gst_fd_sink__get_property):
767         * plugins/elements/gstfdsink.h:
768         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
769         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
770         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
771         (gst_fd_src_unlock), (gst_fd_src_set_property),
772         (gst_fd_src_get_property), (gst_fd_src_create),
773         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
774         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
775         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
776         (gst_fd_src_uri_handler_init):
777         * plugins/elements/gstfdsrc.h:
778         * plugins/elements/gstqueue.c: (gst_queue_get_type):
779           more anal cleanup
780
781 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
782
783         * docs/gst/Makefile.am:
784         * docs/gst/gstreamer.types.in:
785         * gst/Makefile.am:
786           fix the docs build
787
788 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
789
790         * configure.ac:
791         * gst/Makefile.am:
792         * gst/gst.c:
793         * gst/gstplugin.h:
794         * gst/gstregistry.h:
795         * tests/benchmarks/complexity.c:
796         * tests/benchmarks/mass-elements.c:
797         * tests/check/Makefile.am:
798         * tools/Makefile.am:
799         * tools/gst-inspect.c:
800         * tools/gst-xmlinspect.c:
801           various fixes to make
802           --disable-nls --disable-registry --disable-loadsave
803           --disable-parse --disable-gst-debug
804           work and get the core .so down to 360444 bytes after stripping
805
806 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
807
808         * Makefile.am:
809         * configure.ac:
810           descend into tests
811         * docs/random/thomasvs/TODO:
812         * tests/Makefile.am:
813         * tests/README:
814           add a README
815
816 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
817
818         * win32/GStreamer.vcproj:
819         * win32/MANIFEST:
820         * win32/Makefile:
821         * win32/Makefile.inspect:
822         * win32/Makefile.launch:
823         * win32/Makefile.register:
824         * win32/README.txt:
825         * win32/gst-inspect.vcproj:
826         * win32/gst-launch.vcproj:
827         * win32/gst-register.vcproj:
828         * win32/gstelements.vcproj:
829         * win32/gstgetbits.def:
830         * win32/gstgetbits.vcproj:
831         * win32/gstreamer-dbg.def:
832         * win32/gstreamer.def:
833         * win32/libgstbase.def:
834         * win32/libgstbase.vcproj:
835         * win32/link_oldruntime.c:
836         * win32/mman.c:
837         * win32/mman.h:
838         * win32/mman.inl:
839         * win32/msvc71.sln:
840           move even more stuff, win32/ is nice and clean now
841
842 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
843
844         * libs/gst/control/.cvsignore:
845         * win32/MANIFEST:
846         * win32/config.h:
847         * win32/dirent.c:
848         * win32/dirent.h:
849         * win32/gstbytestream.def:
850         * win32/gstbytestream.vcproj:
851         * win32/gstconfig.h:
852         * win32/gstenumtypes.c:
853         * win32/gstenumtypes.h:
854         * win32/gstoptimalscheduler.vcproj:
855         * win32/gstversion.h:
856         * win32/gtchar.h:
857         * win32/testsuite/bins.vcproj:
858         * win32/testsuite/bytestream.vcproj:
859         * win32/testsuite/caps.vcproj:
860         * win32/testsuite/cleanup.vcproj:
861         * win32/testsuite/clock.vcproj:
862         * win32/testsuite/debug.vcproj:
863         * win32/testsuite/dlopen.vcproj:
864         * win32/testsuite/dynparams.vcproj:
865         * win32/testsuite/elements.vcproj:
866         * win32/testsuite/ghostpads.vcproj:
867         * win32/testsuite/indexers.vcproj:
868         * win32/testsuite/negotiation.vcproj:
869         * win32/testsuite/parse.vcproj:
870         * win32/testsuite/plugin.vcproj:
871         * win32/testsuite/refcounting.vcproj:
872         * win32/testsuite/schedulers.vcproj:
873         * win32/testsuite/states.vcproj:
874         * win32/testsuite/tags.vcproj:
875         * win32/testsuite/threads.vcproj:
876           remove old win32 stuff that isn't maintained and should be
877           reorganized
878
879 2005-11-30  Andy Wingo  <wingo@pobox.com>
880
881         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
882         loading the gst.interfaces python module bork.
883
884         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
885         available since GLib 2.2. Fixes #318031.
886
887 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
888
889         * Makefile.am:
890         * check/.cvsignore:
891         * check/Makefile.am:
892         * check/elements/.cvsignore:
893         * check/elements/fakesrc.c:
894         * check/elements/fdsrc.c:
895         * check/elements/identity.c:
896         * check/generic/.cvsignore:
897         * check/generic/states.c:
898         * check/gst-libs/.cvsignore:
899         * check/gst-libs/controller.c:
900         * check/gst-libs/gdp.c:
901         * check/gst/.cvsignore:
902         * check/gst/capslist.h:
903         * check/gst/gst.c:
904         * check/gst/gstbin.c:
905         * check/gst/gstbuffer.c:
906         * check/gst/gstbus.c:
907         * check/gst/gstcaps.c:
908         * check/gst/gstelement.c:
909         * check/gst/gstevent.c:
910         * check/gst/gstghostpad.c:
911         * check/gst/gstiterator.c:
912         * check/gst/gstmessage.c:
913         * check/gst/gstminiobject.c:
914         * check/gst/gstobject.c:
915         * check/gst/gstpad.c:
916         * check/gst/gstpipeline.c:
917         * check/gst/gstplugin.c:
918         * check/gst/gstsegment.c:
919         * check/gst/gststructure.c:
920         * check/gst/gstsystemclock.c:
921         * check/gst/gsttag.c:
922         * check/gst/gstutils.c:
923         * check/gst/gstvalue.c:
924         * check/net/.cvsignore:
925         * check/net/gstnetclientclock.c:
926         * check/net/gstnettimeprovider.c:
927         * check/pipelines/.cvsignore:
928         * check/pipelines/cleanup.c:
929         * check/pipelines/simple_launch_lines.c:
930         * check/pipelines/stress.c:
931         * check/states/.cvsignore:
932         * check/states/sinks.c:
933         * configure.ac:
934         * examples/Makefile.am:
935         * examples/appreader/.cvsignore:
936         * examples/appreader/Makefile.am:
937         * examples/appreader/appreader.c:
938         * examples/controller/.cvsignore:
939         * examples/controller/Makefile.am:
940         * examples/controller/audio-example.c:
941         * examples/cutter/.cvsignore:
942         * examples/cutter/Makefile.am:
943         * examples/cutter/cutter.c:
944         * examples/cutter/cutter.h:
945         * examples/events/Makefile.am:
946         * examples/events/seek.c:
947         * examples/helloworld/.cvsignore:
948         * examples/helloworld/Makefile.am:
949         * examples/helloworld/helloworld.c:
950         * examples/helloworld2/.cvsignore:
951         * examples/helloworld2/Makefile.am:
952         * examples/helloworld2/helloworld2.c:
953         * examples/launch/.cvsignore:
954         * examples/launch/Makefile.am:
955         * examples/launch/mp3parselaunch.c:
956         * examples/launch/mp3play:
957         * examples/manual/.cvsignore:
958         * examples/manual/Makefile.am:
959         * examples/manual/extract.pl:
960         * examples/metadata/Makefile.am:
961         * examples/metadata/read-metadata.c:
962         * examples/mixer/.cvsignore:
963         * examples/mixer/Makefile.am:
964         * examples/mixer/mixer.c:
965         * examples/mixer/mixer.h:
966         * examples/pingpong/.cvsignore:
967         * examples/pingpong/Makefile.am:
968         * examples/pingpong/pingpong.c:
969         * examples/plugins/.cvsignore:
970         * examples/plugins/Makefile.am:
971         * examples/plugins/example.c:
972         * examples/plugins/example.h:
973         * examples/pwg/.cvsignore:
974         * examples/pwg/Makefile.am:
975         * examples/pwg/extract.pl:
976         * examples/queue/.cvsignore:
977         * examples/queue/Makefile.am:
978         * examples/queue/queue.c:
979         * examples/queue2/.cvsignore:
980         * examples/queue2/Makefile.am:
981         * examples/queue2/queue2.c:
982         * examples/queue3/.cvsignore:
983         * examples/queue3/Makefile.am:
984         * examples/queue3/queue3.c:
985         * examples/queue4/.cvsignore:
986         * examples/queue4/Makefile.am:
987         * examples/queue4/queue4.c:
988         * examples/retag/.cvsignore:
989         * examples/retag/Makefile.am:
990         * examples/retag/retag.c:
991         * examples/retag/transcode.c:
992         * examples/thread/.cvsignore:
993         * examples/thread/Makefile.am:
994         * examples/thread/thread.c:
995         * examples/typefind/.cvsignore:
996         * examples/typefind/Makefile.am:
997         * examples/typefind/typefind.c:
998         * examples/xml/.cvsignore:
999         * examples/xml/Makefile.am:
1000         * examples/xml/createxml.c:
1001         * examples/xml/runxml.c:
1002         * tests/Makefile.am:
1003         * tests/check/Makefile.am:
1004         * testsuite/.cvsignore:
1005         * testsuite/Makefile.am:
1006         * testsuite/Rules:
1007         * testsuite/caps/.cvsignore:
1008         * testsuite/caps/Makefile.am:
1009         * testsuite/caps/app_fixate.c:
1010         * testsuite/caps/audioscale.c:
1011         * testsuite/caps/caps.c:
1012         * testsuite/caps/caps.h:
1013         * testsuite/caps/caps_strings:
1014         * testsuite/caps/compatibility.c:
1015         * testsuite/caps/deserialize.c:
1016         * testsuite/caps/enumcaps.c:
1017         * testsuite/caps/eratosthenes.c:
1018         * testsuite/caps/filtercaps.c:
1019         * testsuite/caps/fixed.c:
1020         * testsuite/caps/fraction-convert.c:
1021         * testsuite/caps/fraction-multiply-and-zero.c:
1022         * testsuite/caps/intersect2.c:
1023         * testsuite/caps/intersection.c:
1024         * testsuite/caps/normalisation.c:
1025         * testsuite/caps/random.c:
1026         * testsuite/caps/renegotiate.c:
1027         * testsuite/caps/sets.c:
1028         * testsuite/caps/simplify.c:
1029         * testsuite/caps/string-conversions.c:
1030         * testsuite/caps/structure.c:
1031         * testsuite/caps/subtract.c:
1032         * testsuite/caps/union.c:
1033         * testsuite/debug/.cvsignore:
1034         * testsuite/debug/Makefile.am:
1035         * testsuite/debug/category.c:
1036         * testsuite/debug/commandline.c:
1037         * testsuite/debug/global.c:
1038         * testsuite/debug/output.c:
1039         * testsuite/debug/printf_extension.c:
1040         * testsuite/dlopen/.cvsignore:
1041         * testsuite/dlopen/Makefile.am:
1042         * testsuite/dlopen/dlopen_gst.c:
1043         * testsuite/dlopen/loadgst.c:
1044         * testsuite/elements/.cvsignore:
1045         * testsuite/elements/Makefile.am:
1046         * testsuite/elements/gst-inspect-check.in:
1047         * testsuite/elements/struct_i386.h:
1048         * testsuite/elements/struct_size.c:
1049         * testsuite/indexers/.cvsignore:
1050         * testsuite/indexers/Makefile.am:
1051         * testsuite/indexers/cache1.c:
1052         * testsuite/indexers/indexdump.c:
1053         * testsuite/parse/.cvsignore:
1054         * testsuite/parse/Makefile.am:
1055         * testsuite/parse/parse1.c:
1056         * testsuite/parse/parse2.c:
1057         * testsuite/plugin/.cvsignore:
1058         * testsuite/plugin/Makefile.am:
1059         * testsuite/plugin/README:
1060         * testsuite/plugin/dynamic.c:
1061         * testsuite/plugin/linked.c:
1062         * testsuite/plugin/loading.c:
1063         * testsuite/plugin/registry.c:
1064         * testsuite/plugin/static.c:
1065         * testsuite/plugin/static2.c:
1066         * testsuite/plugin/testplugin.c:
1067         * testsuite/plugin/testplugin2.c:
1068         * testsuite/plugin/testplugin2_s.c:
1069         * testsuite/plugin/testplugin_s.c:
1070         * testsuite/refcounting/.cvsignore:
1071         * testsuite/refcounting/Makefile.am:
1072         * testsuite/refcounting/bin.c:
1073         * testsuite/refcounting/element.c:
1074         * testsuite/refcounting/element_pad.c:
1075         * testsuite/refcounting/mainloop.c:
1076         * testsuite/refcounting/mem.c:
1077         * testsuite/refcounting/mem.h:
1078         * testsuite/refcounting/object.c:
1079         * testsuite/refcounting/pad.c:
1080         * testsuite/refcounting/sched.c:
1081         * testsuite/refcounting/thread.c:
1082         * testsuite/states/.cvsignore:
1083         * testsuite/states/Makefile.am:
1084         * testsuite/states/bin.c:
1085         * testsuite/states/locked.c:
1086         * testsuite/states/parent.c:
1087         * testsuite/threads/.cvsignore:
1088         * testsuite/threads/159566.c:
1089         * testsuite/threads/159852.c:
1090         * testsuite/threads/Makefile.am:
1091         * testsuite/threads/queue.c:
1092         * testsuite/threads/signals.c:
1093         * testsuite/threads/staticrec.c:
1094         * testsuite/threads/thread.c:
1095         * testsuite/threads/threadb.c:
1096         * testsuite/threads/threadc.c:
1097         * testsuite/threads/threadd.c:
1098         * testsuite/threads/threade.c:
1099         * testsuite/threads/threadf.c:
1100         * testsuite/threads/threadg.c:
1101         * testsuite/threads/threadh.c:
1102         * testsuite/threads/threadi.c:
1103           move all of these under tests
1104
1105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1106
1107         * configure.ac:
1108         * tests/Makefile.am:
1109           fix distcheck
1110
1111 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1112
1113         * docs/gst/gstreamer-sections.txt:
1114         * tests/sched/.cvsignore:
1115         * tests/sched/Makefile.am:
1116         * tests/sched/cases/(fs-fs).xml:
1117         * tests/sched/cases/(fs-i-fs).xml:
1118         * tests/sched/cases/(fs-i-i-fs).xml:
1119         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1120         * tests/sched/dynamic-pipeline.c:
1121         * tests/sched/interrupt1.c:
1122         * tests/sched/interrupt2.c:
1123         * tests/sched/interrupt3.c:
1124         * tests/sched/runtestcases:
1125         * tests/sched/runxml.c:
1126         * tests/sched/sched-stress.c:
1127         * tests/sched/sort.c:
1128         * tests/sched/testcases:
1129         * tests/sched/testcases1.tc:
1130         * tests/seeking/.cvsignore:
1131         * tests/seeking/Makefile.am:
1132         * tests/seeking/seeking1.c:
1133         * tests/threadstate/.cvsignore:
1134         * tests/threadstate/Makefile.am:
1135         * tests/threadstate/test1.c:
1136         * tests/threadstate/test2.c:
1137         * tests/threadstate/threadstate1.c:
1138         * tests/threadstate/threadstate2.c:
1139         * tests/threadstate/threadstate3.c:
1140         * tests/threadstate/threadstate4.c:
1141         * tests/threadstate/threadstate5.c:
1142           remove obsolete tests
1143         * configure.ac:
1144         * tests/bench-complexity.scm:
1145         * tests/bench-mass_elements.scm:
1146         * tests/complexity.c:
1147         * tests/complexity.gnuplot:
1148         * tests/instantiate/.cvsignore:
1149         * tests/instantiate/Makefile.am:
1150         * tests/instantiate/caps.c:
1151         * tests/mass_elements.c:
1152         * tests/network-clock-utils.scm:
1153         * tests/network-clock.scm:
1154         * tests/plot-data:
1155         First pass at cleaning up tests/ dir before moving the rest
1156         Combined with CVS surgery
1157
1158 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1159
1160         * po/POTFILES.in:
1161           queue has moved, update
1162
1163 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1164
1165         * docs/gst/gstreamer-sections.txt:
1166           remove double entries from the docs
1167         * gst/gst_private.h:
1168         * gst/gstinfo.c: (_gst_debug_init):
1169           remove the THREAD debug category
1170         * gst/Makefile.am:
1171         * gst/gstqueue.c:
1172         * gst/gstqueue.h:
1173         * docs/gst/gstreamer.types:
1174         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1175         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1176           completely move queue and fix up debugging categories
1177
1178 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1179
1180         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1181           make initialization portable, using LL is not
1182
1183 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1184
1185         * win32/common/gstconfig.h:
1186           add large padding
1187
1188 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1189
1190         * win32/common/libgstreamer.def:
1191           rename symbols; sort base section
1192
1193 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1194
1195         * gst/gstclock.c: (do_linear_regression):
1196           remove crack non-portable handrolled DEBUG macro
1197
1198 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1199
1200         * docs/random/release:
1201           update notes
1202         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1203         (gst_object_flags_get_type), (register_gst_bin_flags),
1204         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1205         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1206         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1207         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1208         (gst_caps_flags_get_type), (register_gst_clock_return),
1209         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1210         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1211         (gst_clock_flags_get_type), (register_gst_state),
1212         (gst_state_get_type), (register_gst_state_change_return),
1213         (gst_state_change_return_get_type), (register_gst_state_change),
1214         (gst_state_change_get_type), (register_gst_element_flags),
1215         (gst_element_flags_get_type), (register_gst_core_error),
1216         (gst_core_error_get_type), (register_gst_library_error),
1217         (gst_library_error_get_type), (register_gst_resource_error),
1218         (gst_resource_error_get_type), (register_gst_stream_error),
1219         (gst_stream_error_get_type), (register_gst_event_type_flags),
1220         (gst_event_type_flags_get_type), (register_gst_event_type),
1221         (gst_event_type_get_type), (register_gst_seek_type),
1222         (gst_seek_type_get_type), (register_gst_seek_flags),
1223         (gst_seek_flags_get_type), (register_gst_format),
1224         (gst_format_get_type), (register_gst_index_certainty),
1225         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1226         (gst_index_entry_type_get_type),
1227         (register_gst_index_lookup_method),
1228         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1229         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1230         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1231         (gst_index_flags_get_type), (register_gst_debug_level),
1232         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1233         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1234         (gst_iterator_result_get_type), (register_gst_iterator_item),
1235         (gst_iterator_item_get_type), (register_gst_message_type),
1236         (gst_message_type_get_type), (register_gst_mini_object_flags),
1237         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1238         (gst_pad_link_return_get_type), (register_gst_flow_return),
1239         (gst_flow_return_get_type), (register_gst_activate_mode),
1240         (gst_activate_mode_get_type), (register_gst_pad_direction),
1241         (gst_pad_direction_get_type), (register_gst_pad_flags),
1242         (gst_pad_flags_get_type), (register_gst_pad_presence),
1243         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1244         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1245         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1246         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1247         (gst_plugin_flags_get_type), (register_gst_rank),
1248         (gst_rank_get_type), (register_gst_query_type),
1249         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1250         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1251         (gst_tag_flag_get_type), (register_gst_task_state),
1252         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1253         (gst_alloc_trace_flags_get_type),
1254         (register_gst_type_find_probability),
1255         (gst_type_find_probability_get_type), (register_gst_uri_type),
1256         (gst_uri_type_get_type), (register_gst_parse_error),
1257         (gst_parse_error_get_type):
1258         * win32/common/gstenumtypes.h:
1259         * win32/common/gstversion.h:
1260           update visual studio generated files
1261
1262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1263
1264         * win32/vs6/libgstbase.dsp:
1265         * win32/vs6/libgstelements.dsp:
1266           update project files for new locations
1267
1268 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1269
1270         * Makefile.am:
1271           remove some files
1272         * README:
1273           reinstate and update
1274         * DEVEL:
1275         * REQUIREMENTS:
1276           removed
1277         * LICENSE:
1278         * docs/random/LICENSE:
1279           moved to random
1280
1281 2005-11-30  Edward Hervey  <edward@fluendo.com>
1282
1283         * gst/gsttypefind.c: (gst_type_find_register):
1284         * gst/gsttypefind.h:
1285         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1286         (gst_type_find_factory_dispose):
1287         * gst/gsttypefindfactory.h:
1288         Fix memory leak in GstTypeFindFactory.
1289
1290 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1291
1292         * gst/gst.c:
1293         * plugins/elements/Makefile.am:
1294         * plugins/elements/gstelements.c:
1295         * plugins/elements/gstqueue.c:
1296           move queue from core to the elements plugin
1297
1298 2005-11-29  Andy Wingo  <wingo@pobox.com>
1299
1300         * libs/gst/base/gstbasetransform.h: 
1301         * libs/gst/base/gstbasesrc.h: 
1302         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1303
1304         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1305         of pointers by which to pad very extensible base classes (like the
1306         ones in libs/gst/base).
1307
1308 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1309
1310         * docs/gst/gstreamer-docs.sgml:
1311         * docs/gst/gstreamer-sections.txt:
1312         * docs/libs/gstreamer-libs-docs.sgml:
1313         * docs/libs/gstreamer-libs-sections.txt:
1314           moving documentation from core to lib
1315
1316 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1317
1318         * check/Makefile.am:
1319         * configure.ac:
1320         * docs/gst/Makefile.am:
1321         * gst/Makefile.am:
1322         * gst/base/.cvsignore:
1323         * gst/base/Makefile.am:
1324         * gst/base/README:
1325         * gst/base/gstadapter.c:
1326         * gst/base/gstadapter.h:
1327         * gst/base/gstbasesink.c:
1328         * gst/base/gstbasesink.h:
1329         * gst/base/gstbasesrc.c:
1330         * gst/base/gstbasesrc.h:
1331         * gst/base/gstbasetransform.c:
1332         * gst/base/gstbasetransform.h:
1333         * gst/base/gstcollectpads.c:
1334         * gst/base/gstcollectpads.h:
1335         * gst/base/gstpushsrc.c:
1336         * gst/base/gstpushsrc.h:
1337         * gst/base/gsttypefindhelper.c:
1338         * gst/base/gsttypefindhelper.h:
1339         * gst/check/Makefile.am:
1340         * gst/check/gstcheck.c:
1341         * gst/check/gstcheck.h:
1342         * gst/net/Makefile.am:
1343         * gst/net/gstnet.h:
1344         * gst/net/gstnetclientclock.c:
1345         * gst/net/gstnetclientclock.h:
1346         * gst/net/gstnettimepacket.c:
1347         * gst/net/gstnettimepacket.h:
1348         * gst/net/gstnettimeprovider.c:
1349         * gst/net/gstnettimeprovider.h:
1350         * libs/gst/Makefile.am:
1351         * libs/gst/base/Makefile.am:
1352         * libs/gst/base/gstbasetransform.c:
1353         * libs/gst/check/Makefile.am:
1354         * plugins/elements/Makefile.am:
1355         * po/POTFILES.in:
1356           CVS surgery + support to move base, check, and net out of gst
1357           and into libs/gst
1358
1359 2005-11-29  Andy Wingo  <wingo@pobox.com>
1360
1361         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1362
1363         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1364         padding.
1365
1366         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1367
1368         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1369
1370         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1371
1372         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1373         padding; reduces object size by about 30%. We don't expect
1374         anything else to go into gstobject.
1375
1376         * gst/gstminiobject.h (struct _GstMiniObject)
1377         (struct _GstMiniObjectClass): Only one pointer of padding; the
1378         payload is only a pointer and two ints anyway. For the class there
1379         are only two methods as well.
1380         
1381         * gst/gstelement.h (struct _GstElementClass): Removed
1382         the state_changed signal callback, it is not used.
1383
1384 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1385
1386         * docs/gst/gstreamer.types:
1387           fix includes, though they are a little dinky
1388
1389 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1390
1391         * check/Makefile.am:
1392           look in the right place for elements, a lot more chance of
1393           success
1394         * gst/Makefile.am:
1395           remove indexers and elements subdirs
1396         * plugins/Makefile.am:
1397           make indexers conditional
1398
1399 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1400
1401         * Makefile.am:
1402         * configure.ac:
1403         * plugins/elements/Makefile.am:
1404         * plugins/elements/gstcapsfilter.c:
1405         * plugins/elements/gstfilesink.c:
1406         * plugins/elements/gstfilesrc.c:
1407         * plugins/elements/gstidentity.c:
1408         * plugins/indexers/Makefile.am:
1409           do CVS surgery and related build fixery to move elements
1410           and indexers in a new gstreamer/plugins directory, out of the
1411           gst/ directory
1412
1413 2005-11-29  Andy Wingo  <wingo@pobox.com>
1414
1415         * check/Makefile.am:
1416         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1417         * pkgconfig/gstreamer-net.pc.in:
1418         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1419         #322257.
1420
1421 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1422
1423         * tools/Makefile.am:
1424         * tools/gst-complete.1.in:
1425         * tools/gst-complete.c:
1426         * tools/gst-compprep.1.in:
1427         * tools/gst-compprep.c:
1428           removing -compprep and -complete
1429
1430 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1431
1432         * gst/gstevent.c: (gst_event_new_new_segment),
1433         (gst_event_parse_new_segment):
1434         * gst/gstevent.h:
1435           fix #320529 - clean up new_segment API and structure.
1436           Let's hope everyone was using the methods, and not the structure.
1437
1438 2005-11-29  Edward Hervey  <edward@fluendo.com>
1439
1440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1441         (gst_base_sink_event), (gst_base_sink_do_sync),
1442         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1443         Properly handle non GST_FORMAT_TIME segment
1444         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1445         Properly handle non GST_FORMAT_TIME segment
1446         * gst/gstsegment.c:
1447         This function is valid if the accumulator is 0 and the format
1448         is different from the requested format.
1449         
1450 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1451
1452         * docs/gst/gstreamer-sections.txt:
1453         Add gst_query_new_seeking and gst_query_parse_seeking to the
1454         docs.
1455
1456 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1457
1458         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1459           Treat a pad alloc with new caps the same as if we were not
1460           negotiated, in order to allow a changing upstream output
1461           to produce a new format of data.
1462
1463 2005-11-29  Edward Hervey  <edward@fluendo.com>
1464
1465         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1466         (gst_base_transform_event), (gst_base_transform_eventfunc):
1467         The event virtual method is now properly implemented, with a default
1468         handler
1469         Sub classes should call the parent_class event method. They should
1470         return FALSE if they had a problem handling the given event, or don't
1471         want GstBaseTransform to send that even downstream
1472         * gst/elements/gstidentity.c: (gst_identity_class_init),
1473         (gst_identity_init), (gst_identity_event),
1474         (gst_identity_transform_ip), (gst_identity_set_property),
1475         (gst_identity_get_property):
1476         * gst/elements/gstidentity.h:
1477         Added the single-segment boolean property.
1478         If set to TRUE, it will output a single segment of data, starting from
1479         0, will eat up all incoming newsegment, and modify the timestamp of the
1480         buffers accordingly
1481
1482 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1483
1484         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1485           Don't ref NULL target pad (#322751). Improve docs.
1486
1487 2005-11-29  Michael Smith  <msmith@fluendo.com>
1488
1489         * gst/gstregistryxml.c: (load_plugin):
1490           Don't crash if we failed to load a feature from a plugin. 
1491
1492 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1493
1494         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1495         (GST_START_TEST):
1496           use more check API and less GLib API
1497
1498 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1499
1500         * Makefile.am:
1501           don't run checks if we don't have check
1502         * common/check.mak:
1503           remove the registry when running make torture
1504         * docs/gst/gstreamer-sections.txt:
1505           remove second multiply
1506         * gst/gstqueue.c: (gst_queue_loop):
1507           fix a compile warning when disabling debug
1508
1509 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1510
1511         * gst/gstinfo.h:
1512         Hey! Let's print the pad name if the pointer != NULL instead
1513         of when it == NULL :-)
1514
1515 2005-11-28  Wim Taymans  <wim@fluendo.com>
1516
1517         * check/gst/gstutils.c: (GST_START_TEST):
1518         Updated check, add some scaling accuracy checking code.
1519
1520         * gst/gstutils.c: (gst_util_div128_64),
1521         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1522         (gst_util_uint64_scale_int):
1523         Fix 6 times faster division code. Optimize for common 
1524         1/1 and less common X/1 cases.
1525
1526 2005-11-28  Wim Taymans  <wim@fluendo.com>
1527
1528         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1529         More checks.
1530
1531         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1532         (do_linear_regression), (gst_clock_add_observation):
1533         Cleanups.
1534         Release lock when the clock cannot be slaved.
1535         Catch the case where the regression returned an invalid denominator.
1536
1537         * gst/gstutils.c: (gst_util_div128_64_iterate),
1538         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1539         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1540         Add protentially more performant non-iterative 128/64 divide function
1541         that unfortunatly does not work yet.
1542         Shortcut the trivial 0/X = 0 case.
1543         Remove the warnings on overflow.
1544
1545 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1546
1547         * gst/gstplugin.c: (gst_plugin_register_func):
1548           everything causing a plugin not to load should be at least a WARNING
1549
1550 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1551
1552         * docs/random/ensonic/dparams.txt:
1553           some TODOs for the next dev cycle
1554         * libs/gst/controller/gstcontroller.c:
1555         (gst_controlled_property_set_interpolation_mode),
1556         (gst_controlled_property_new):
1557         * libs/gst/controller/gstcontroller.h:
1558           use base type to assign acccessor functions
1559
1560 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1561
1562         * check/Makefile.am:
1563         Oops, that should have been top_srcdir
1564
1565 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1566
1567         * check/Makefile.am:
1568         * check/elements/fdsrc.c: (GST_START_TEST):
1569         Use a cmdline define to specify the location of a file to use for
1570         testing, to avoid breaking distcheck.
1571
1572 2005-11-28  Andy Wingo  <wingo@pobox.com>
1573
1574         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1575
1576 2005-11-28  Edward Hervey  <edward@fluendo.com>
1577
1578         * tools/gst-launch.c: (main):
1579         Clarify the output strings, makes it easier to translate.
1580         Fixes #322626
1581
1582 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1583
1584         * gst/Makefile.am:
1585           don't try and build net if we don't even have <sys/socket.h>
1586
1587 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1588
1589         * check/Makefile.am:
1590         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1591         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1592           Add tests for fdsrc seekability
1593
1594         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1595         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1596         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1597         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1598         * gst/elements/gstfdsrc.h:
1599           fdsrc should not be a 'live' source.
1600           Implement seeking on seekable fd's.
1601
1602         * gst/gstquery.c: (gst_query_new_seeking),
1603         (gst_query_parse_seeking):
1604         * gst/gstquery.h:
1605           Implement SEEKING query functions: 
1606             *_new_seeking and *_parse_seeking
1607
1608 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1609
1610         * gst/gstelement.c: (gst_element_dispose):
1611           don't loop forever
1612
1613         * gst/gstiterator.c:
1614         * gst/gststructure.c:
1615           doc fixes
1616
1617         * libs/gst/controller/gstcontroller.c:
1618         (gst_controlled_property_set_interpolation_mode):
1619         * libs/gst/controller/gstcontroller.h:
1620         * libs/gst/controller/gstinterpolation.c:
1621         (interpolate_none_get_enum_value_array):
1622           support controlling enums
1623
1624 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1625
1626         * gst/gstvalue.c:
1627           Improve documentation for gst_value_union().
1628
1629         * gst/gstvalue.h:
1630           Change return value for union, intersect and subtract functions
1631           from gint to gboolean.
1632
1633 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1634
1635         * gst/gstvalue.c: (gst_value_serialize_any_list),
1636         (gst_value_transform_any_list_string),
1637         (gst_value_deserialize_list), (gst_value_deserialize_array),
1638         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1639         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1640         (gst_value_set_fraction_range_full),
1641         (gst_value_deserialize_fraction_range),
1642         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1643         (gst_value_deserialize_boolean),
1644         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1645         (gst_value_serialize_float), (gst_value_deserialize_float),
1646         (gst_string_wrap), (gst_value_deserialize_string),
1647         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1648         (gst_value_union_int_range_int_range),
1649         (gst_value_intersect_int_range_int_range),
1650         (gst_value_intersect_double_range_double_range),
1651         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1652         (gst_value_subtract_int_range_int_range),
1653         (gst_value_subtract_double_double_range),
1654         (gst_value_subtract_double_range_double_range),
1655         (gst_value_deserialize_fraction):
1656         * gst/gstvalue.h:
1657           Use gint, gdouble and gchar in our API instead of int, double and
1658           char (and make usage in gstvalue.c more consistent).
1659
1660 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1661
1662         * check/Makefile.am:
1663         * libs/gst/controller/Makefile.am:
1664         * libs/gst/dataprotocol/Makefile.am:
1665           fix up Makefile.am and remove GST_ENABLE_NEW
1666
1667 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1668
1669         * configure.ac:
1670         * gst/Makefile.am:
1671         * gst/base/Makefile.am:
1672         * gst/check/Makefile.am:
1673         * gst/elements/Makefile.am:
1674         * gst/net/Makefile.am:
1675           update LDFLAGS use some more
1676
1677 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1678
1679         * common/m4/gst-doc.m4:
1680           Fixes #312589
1681
1682 2005-11-26  Edward Hervey  <edward@fluendo.com>
1683
1684         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1685         This shouldn't issue a g_warning since it returns NULL if it
1686         couldn't find the plugin, and all functions using this behave
1687         properly on a NULL return. Switching to a GST_WARNING.
1688
1689 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1690
1691         * gst/gstbin.c: (gst_bin_handle_message_func):
1692         Don't leak clock messages.
1693
1694 2005-11-25  Wim Taymans  <wim@fluendo.com>
1695
1696         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1697         (gst_util_uint64_scale_int):
1698         Optimisations, remove unneeded vars.
1699
1700 2005-11-25  Wim Taymans  <wim@fluendo.com>
1701
1702         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1703         Added more checks for the high precision uint64 cases.
1704
1705         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1706         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1707         Implement high precision (guint64 * guint64) / guint64.
1708
1709 2005-11-24  Wim Taymans  <wim@fluendo.com>
1710
1711         * gst/base/gstbasesrc.c: (gst_base_src_query):
1712         Fix wrong percentage query.
1713
1714         * gst/gstutils.c: (gst_util_uint64_scale),
1715         (gst_util_uint64_scale_int):
1716         Add some more common cases that can be handled 
1717         efficiently to _scale.
1718
1719 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1720
1721         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1722         (gst_mini_object_suite):
1723           don't use check calls from threads; check probably isn't
1724           threadsafe and using a lock to make it threadsafe would
1725           defeat the purpose of this check
1726         * gst/check/gstcheck.c:
1727         * gst/check/gstcheck.h:
1728           use GST_DEBUG some more
1729
1730 2005-11-24  Wim Taymans  <wim@fluendo.com>
1731
1732         * gst/gstutils.c: (gst_util_uint64_scale),
1733         (gst_util_uint64_scale_int):
1734         Chain trivial case to _scale_int.
1735
1736 2005-11-24  Wim Taymans  <wim@fluendo.com>
1737
1738         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1739         Added test for scaling.
1740
1741         * gst/gstclock.h:
1742         Small doc fix.
1743
1744         * gst/gstutils.c: (gst_util_uint64_scale_int):
1745         Implemented high precision scaling code.
1746
1747 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1748
1749         * gst/gstinfo.h:
1750           do not crash on pad==NULL
1751
1752 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1753
1754         Patch by: Stefan Kost
1755
1756         * common/gtk-doc.mak:
1757         * docs/gst/Makefile.am:
1758         * docs/libs/Makefile.am:
1759           Fix distcheck issues for the libraries docs build
1760           Closes #319599.
1761
1762 2005-11-24  Michael Smith <msmith@fluendo.com>
1763
1764         * docs/manual/basics-helloworld.xml:
1765           Fix bug #315027: memory leak in example code in docs.
1766
1767 2005-11-24  Michael Smith <msmith@fluendo.com>
1768
1769         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1770           Unlock the PREROLL_LOCK in a failure case.
1771
1772 2005-11-24  Wim Taymans  <wim@fluendo.com>
1773
1774         * docs/gst/gstreamer-sections.txt:
1775         * gst/base/gstadapter.h:
1776         * gst/base/gstbasesink.h:
1777         * gst/base/gstbasesrc.h:
1778         * gst/base/gstbasetransform.h:
1779         * gst/base/gstpushsrc.h:
1780         * gst/elements/gstfakesink.h:
1781         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1782         * gst/elements/gstfakesrc.h:
1783         * gst/elements/gstfilesink.h:
1784         * gst/elements/gstfilesrc.h:
1785         * gst/gst.c:
1786         * gst/gstbin.c:
1787         * gst/gstbuffer.c: (_gst_buffer_copy):
1788         * gst/gstbus.h:
1789         * gst/gstcaps.c:
1790         * gst/gstchildproxy.c:
1791         * gst/gstclock.c:
1792         * gst/gstelement.c:
1793         * gst/gstelementfactory.c:
1794         * gst/gstelementfactory.h:
1795         * gst/gstevent.c:
1796         * gst/gstghostpad.h:
1797         * gst/gstindex.h:
1798         * gst/gstinterface.h:
1799         * gst/gstminiobject.c:
1800         * gst/gstminiobject.h:
1801         * gst/gstpad.c:
1802         * gst/gstpad.h:
1803         * gst/gstpadtemplate.h:
1804         * gst/gstpipeline.h:
1805         * gst/gstpluginfeature.h:
1806         * gst/gstquery.h:
1807         * gst/gstqueue.h:
1808         * gst/gsttaglist.c:
1809         * gst/gsttaglist.h:
1810         * gst/gsttagsetter.c:
1811         * gst/gsttagsetter.h:
1812         * gst/gsttrace.c:
1813         * gst/gsttrace.h:
1814         * gst/gsttypefind.h:
1815         * gst/gsturi.h:
1816         * gst/gstvalue.c:
1817         * gst/net/gstnetclientclock.c:
1818         * gst/net/gstnetclientclock.h:
1819         * gst/net/gstnettimepacket.c:
1820         * gst/net/gstnettimeprovider.c:
1821         * gst/net/gstnettimeprovider.h:
1822         Doc fixes.
1823
1824 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1825
1826         * configure.ac: back to HEAD
1827
1828 === release 0.9.6 ===
1829
1830 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1831
1832         * configure.ac:
1833           releasing 0.9.6, "Always On Time"
1834
1835 2005-11-23  Wim Taymans  <wim@fluendo.com>
1836
1837         * docs/gst/gstreamer-sections.txt:
1838         * gst/glib-compat.c:
1839         * gst/gsttagsetter.c:
1840         * gst/gstvalue.c:
1841         * gst/net/gstnetclientclock.c:
1842         * gst/net/gstnettimepacket.h:
1843         Doc updates.
1844
1845 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1846
1847         * docs/faq/using.xml:
1848         * docs/libs/tmpl/gstcontrol.sgml:
1849         * docs/manual/advanced-dparams.xml:
1850         * docs/manual/appendix-checklist.xml:
1851         * docs/manual/basics-elements.xml:
1852         * docs/pwg/other-source.xml:
1853         * docs/random/moving-plugins:
1854         * gst/gstpad.c:
1855         * tools/gst-launch.1.in:
1856           remove mentions of sinesrc
1857
1858 2005-11-23  Michael Smith <msmith@fluendo.com>
1859
1860         * docs/gst/gstreamer-sections.txt:
1861           Update for new API and API changes.
1862         * gst/gstobject.h:
1863           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1864         * gst/gstvalue.c:
1865           Documentation typo fix.
1866         * gst/net/gstnettimepacket.c:
1867           Documentation fixes for arguments.
1868
1869 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1870
1871         * gst/gststructure.c: (gst_structure_get_fraction),
1872         (gst_structure_parse_value),
1873         (gst_structure_fixate_field_nearest_fraction):
1874         * gst/gststructure.h:
1875         * gst/gstutils.c: (gst_util_uint64_scale_int):
1876         * gst/gstutils.h:
1877         * scripts/update-funcnames:
1878         API Changes. 
1879         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1880         Make gst_structure_fixate_field_nearest_fraction take a numerator
1881         and denominator argument instead of a GValue
1882         add gst_structure_get_fraction helper function.
1883
1884 2005-11-23  Wim Taymans  <wim@fluendo.com>
1885
1886         * docs/design/part-TODO.txt:
1887         Update TODO.
1888
1889         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1890         * gst/net/gstnetclientclock.h:
1891         Use parent fields for timeout and window_size.
1892
1893 2005-11-23  Andy Wingo  <wingo@pobox.com>
1894
1895         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1896         rate_num/rate_denom change.
1897
1898         * gst/net/gstnetclientclock.c
1899         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1900         OBJECT_LOCK. Don't call add_observation with the lock.
1901
1902         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1903         fraction.
1904         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1905         rate fraction.
1906         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1907         deal with rate as a fraction whose numerator and denominator are
1908         GstClockTime values.
1909         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1910         master; the other fields are protected by the SLAVE_LOCK.
1911         (do_linear_regression): Note that this must be called with the
1912         SLAVE_LOCK.
1913         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1914         OBJECT_LOCK. Call set_calibration instead of touching the
1915         variables directly.
1916         (gst_clock_set_property, gst_clock_get_property): Protect
1917         master/slave parameters with the SLAVE_LOCK.
1918
1919         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1920         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1921         note that all of the instance variables that add_observation and
1922         the set_master functions use are protected by that lock and not
1923         the OBJECT_LOCK.
1924         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1925
1926         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1927         the caller to take the object lock.
1928
1929 2005-11-23  Wim Taymans  <wim@fluendo.com>
1930
1931         * gst/gsterror.c: (_gst_core_errors_init):
1932         * gst/gsterror.h:
1933         Add error for clock stuff.
1934
1935         * gst/gstpipeline.c: (gst_pipeline_change_state),
1936         (gst_pipeline_set_clock):
1937         Post clock error when clock cannot be used in a pipeline.
1938
1939 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1940
1941         * docs/gst/gstreamer-sections.txt:
1942           make two symbols from gstinfo private for the docs
1943         * gst/base/gstcollectpads.h:
1944         * gst/gstutils.c:
1945           fix doc typos, update docs
1946
1947 2005-11-22  Wim Taymans  <wim@fluendo.com>
1948
1949         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1950         (gst_base_sink_wait), (gst_base_sink_do_sync),
1951         (gst_base_sink_handle_event):
1952         * gst/base/gstbasesink.h:
1953         No need to store the clock, the parent element class already
1954         has it.
1955
1956         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1957         Updates for clock_set returning a gboolean
1958
1959         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1960         (gst_clock_id_wait_async), (gst_clock_class_init),
1961         (gst_clock_init), (gst_clock_finalize),
1962         (gst_clock_get_internal_time), (gst_clock_get_time),
1963         (gst_clock_slave_callback), (gst_clock_set_master),
1964         (gst_clock_get_master), (do_linear_regression),
1965         (gst_clock_add_observation), (gst_clock_set_property),
1966         (gst_clock_get_property):
1967         * gst/gstclock.h:
1968         Implement master/slave. When setting a clock as a slave, a
1969         periodic timeout is scheduled to sample master and slave times.
1970         Then the slave clock is recalibrated to match offset and rate
1971         of the master clock.
1972         Update logging a bit.
1973         Add flag so that a clock can state that is cannot be slaved to
1974         another clock.
1975
1976         * gst/gstelement.c: (gst_element_set_clock):
1977         * gst/gstelement.h:
1978         The set clock returns a gboolean for when an element cannot
1979         deal with the selected clock in the pipeline. 
1980
1981         * gst/gstpipeline.c: (gst_pipeline_change_state),
1982         (gst_pipeline_set_clock):
1983         * gst/gstpipeline.h:
1984         Handle the case where the selected clock cannot be set on
1985         the pipeline.
1986
1987         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1988         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1989         (gst_net_client_clock_set_property),
1990         (gst_net_client_clock_get_property),
1991         (gst_net_client_clock_observe_times):
1992         * gst/net/gstnetclientclock.h:
1993         Use regression code in GstClock parent, remove duplicated
1994         functionality.
1995
1996 2005-11-22  Michael Smith <msmith@fluendo.com>
1997
1998         * gst/gstutils.c: (gst_util_clock_time_scale):
1999         * gst/gstutils.h:
2000         * docs/gst/gstreamer-sections.txt:
2001           Rename method to have extra underscore.
2002
2003 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2004
2005         * gst/elements/Makefile.am:
2006         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2007         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2008         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2009         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2010         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2011         * gst/elements/gstfakesrc.h:
2012         * gst/gstqueue.c: (queue_leaky_get_type):
2013           correctly fix GEnumValues so that nick is the short lowercase
2014           dashed tag
2015         * tools/gst-inspect.c: (print_element_properties_info):
2016           also show the nick, since it's useful to use from parse_launch
2017           syntax
2018           Fixes #322139
2019
2020 2005-11-22  Michael Smith <msmith@fluendo.com>
2021
2022         * gst/gstutils.c: (gst_util_clocktime_scale):
2023         * gst/gstutils.h:
2024         * docs/gst/gstreamer-sections.txt:
2025           Add util method for scaling a clocktime by a fraction. Useful 
2026           implementation is left as an exercise for the reader.
2027
2028 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2029
2030         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2031         If needed, allocate storage in the destination value during
2032         collection.
2033
2034 2005-11-22  Edward Hervey  <edward@fluendo.com>
2035
2036         * docs/gst/gstreamer-sections.txt:
2037         * gst/Makefile.am:
2038         * gst/gst.h:
2039         * gst/gsturitype.c:
2040         * gst/gsturitype.h:
2041         * gst/gstutils.c: (gst_util_set_object_arg):
2042         * tools/gst-compprep.c: (main):
2043         * tools/gst-inspect.c: (print_element_properties_info):
2044         Removed GstURI, closes bug #321061
2045
2046 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2047
2048         * check/gst/gststructure.c: (GST_START_TEST):
2049         * gst/gststructure.c: (gst_structure_parse_value):
2050           Oops, broke automatic string type parsing.
2051           Add a test to catch it in future.
2052
2053 2005-11-22  Andy Wingo  <wingo@pobox.com>
2054
2055         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2056         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2057         Actually rename the function implementations. Grr.
2058
2059 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2060
2061         * check/gst/capslist.h:
2062           Comment test cases
2063         * check/gst/gststructure.c: (GST_START_TEST),
2064         (gst_structure_suite):
2065           Test automatic value type detection in gst_structure_from_string.
2066         * gst/gststructure.c: (gst_structure_parse_value):
2067           Add fraction as a type we try and guess automatically in
2068           caps/structure strings.
2069
2070 2005-11-22  Andy Wingo  <wingo@pobox.com>
2071
2072         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2073
2074         * gst/gsttagsetter.h:
2075         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2076         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2077         (gst_tag_setter_add_tag_valist)
2078         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2079         _add_values, _add_valist, and _add_valist_values. Since this is an
2080         interface the function suffixes should be more explicit so
2081         language binding don't end up with element.add_valist ->
2082         gst_tag_setter_add_valist, for example. Fixes #322069.
2083
2084 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2085
2086         * check/gst/gstcaps.c: (GST_START_TEST):
2087           Extend caps string tests to check that a caps to string
2088           conversion is reversible and produces the same caps.
2089
2090         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2091           Output "fraction" as the generic type fraction range, so caps
2092           serialisation and deserialisation works.
2093         * check/gst/capslist.h:
2094         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2095           Support 'MIN' and 'MAX' for deserialising fractions.
2096
2097 2005-11-22  Andy Wingo  <wingo@pobox.com>
2098
2099         * gst/gstevent.h (gst_event_new_new_segment)
2100         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2101         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2102         Renamed from *_newsegment, *_buffersize, *_notarget.
2103
2104         * scripts/update-funcnames: New script, performs the changes
2105         listed above.
2106
2107 2005-11-22  Wim Taymans  <wim@fluendo.com>
2108
2109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2110         Make sure the GstFlowReturn is returned.
2111
2112         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2113         (gst_bus_add_signal_watch):
2114         * gst/gstbus.h:
2115         add gst_bus_add_signal_watch_full.
2116
2117         * gst/gstplugin.c: (gst_plugin_load_file):
2118         Small style cleanup.
2119
2120 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2121
2122         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2123           Block the fakesrc srcpad when we send an event, to avoid
2124           contention on the stream_lock causing random test failures.
2125
2126 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2127
2128         * check/gst/gstvalue.c: (GST_START_TEST):
2129         * gst/gstvalue.c: (gst_value_fraction_subtract):
2130           Fix subtraction.
2131
2132 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2133
2134         * gst/gst.h:
2135           include "gstchildproxy.h"
2136         * gst/gstchildproxy.h:
2137         * libs/gst/controller/gstcontroller.h:
2138           use G_GNUC_NULL_TERMINATED
2139
2140 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2141
2142         * check/gst/capslist.h:
2143         * check/gst/gstcaps.c: (GST_START_TEST):
2144         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2145         * gst/gststructure.c: (gst_structure_parse_range),
2146         (gst_structure_fixate_field_nearest_fraction):
2147         * gst/gststructure.h:
2148         * gst/gstvalue.c: (gst_value_init_fraction_range),
2149         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2150         (gst_value_collect_fraction_range),
2151         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2152         (gst_value_set_fraction_range_full),
2153         (gst_value_get_fraction_range_min),
2154         (gst_value_get_fraction_range_max),
2155         (gst_value_serialize_fraction_range),
2156         (gst_value_transform_fraction_range_string),
2157         (gst_value_compare_fraction_range),
2158         (gst_value_deserialize_fraction_range),
2159         (gst_value_intersect_fraction_fraction_range),
2160         (gst_value_intersect_fraction_range_fraction_range),
2161         (gst_value_subtract_fraction_fraction_range),
2162         (gst_value_subtract_fraction_range_fraction),
2163         (gst_value_subtract_fraction_range_fraction_range),
2164         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2165         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2166         (gst_value_transform_string_fraction), (_gst_value_initialize):
2167         * gst/gstvalue.h:
2168           Implement fraction ranges and extend GstFraction to support
2169           arithmetic subtraction, as well as deserialization from integer
2170           strings such as "100"
2171           Add a testsuite as for int and double range set operations
2172
2173 2005-11-21  Andy Wingo  <wingo@pobox.com>
2174
2175         * gst/gsttaglist.h: 
2176         * gst/gstcaps.h: 
2177         * gst/gststructure.h: Add glib-compat.h.
2178
2179 2005-11-21  Wim Taymans  <wim@fluendo.com>
2180
2181         * gst/gstbin.c: (gst_bin_change_state_func):
2182         Fix for #321595
2183
2184 2005-11-21  Wim Taymans  <wim@fluendo.com>
2185
2186         * gst/gstsegment.h:
2187         And add a nice define too.
2188
2189 2005-11-21  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2192         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2193         (gst_segment_set_duration), (gst_segment_set_last_stop),
2194         (gst_segment_set_seek), (gst_segment_set_newsegment),
2195         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2196         (gst_segment_clip):
2197         * gst/gstsegment.h:
2198         Make binding friendly.
2199
2200 2005-11-21  Andy Wingo  <wingo@pobox.com>
2201
2202         * gst/gsttagsetter.h: 
2203         * gst/gsttaglist.h: 
2204         * gst/gststructure.h: 
2205         * gst/gstcaps.h: 
2206         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2207         #319940.
2208
2209         * gst/gsterror.c (_gst_core_errors_init):
2210         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2211         category.
2212
2213         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2214         (noinst_HEADERS): noinst the -private.
2215
2216 2005-11-21  Michael Smith <msmith@fluendo.com>
2217
2218         * gst/gstplugin.h:
2219         * gst/gstregistry.h:
2220           Remove unimplemented declarations for which we can see no sensible
2221           use.
2222
2223 2005-11-21  Andy Wingo  <wingo@pobox.com>
2224
2225         * gst/gst.h: Include glib-compat.h.
2226
2227         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2228
2229         * gst/glib-compat.c: Include the public and the private header.
2230
2231         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2232
2233         * gst/gstvalue.c: 
2234         * gst/gstpad.c: 
2235         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2236
2237         * check/gst/gstevent.c (create_custom_events): Check that
2238         FLUSH_STOP is serialized.
2239
2240         * check/elements/identity.c (event_func): 
2241         * check/elements/fakesrc.c (event_func): No stream lock, the core
2242         takes it.
2243
2244         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2245         stream lock taking, yay.
2246
2247         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2248         ensure that core takes the stream lock.
2249
2250         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2251         lock name change.
2252
2253         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2254         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2255         it already. For the flush start we do take it though so we get the
2256         right preroll state change messages.
2257
2258         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2259         the stream lock here, the core does it for us.
2260
2261         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2262         GST_STREAM_GET_LOCK.
2263         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2264         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2265         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2266         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2267         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2268         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2269
2270         * gst/gstpad.c: Update for stream lock name change.
2271
2272         * gst/base/gstbasesink.c: Update for preroll lock name change.
2273
2274 2005-11-21  Wim Taymans  <wim@fluendo.com>
2275
2276         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2277         (gst_clock_get_master):
2278         * gst/gstclock.h:
2279         * gst/gstsystemclock.c: (gst_system_clock_init):
2280         Convert Clock flags to object flags.
2281         Added methods to manage master/slave clocks.
2282
2283 2005-11-21  Wim Taymans  <wim@fluendo.com>
2284
2285         * check/gst/gstsegment.c: (GST_START_TEST):
2286         * docs/design/part-TODO.txt:
2287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2288         (gst_base_sink_event), (gst_base_sink_do_sync),
2289         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2290         (gst_base_sink_query), (gst_base_sink_change_state):
2291         * gst/base/gstbasesink.h:
2292         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2293         (gst_base_src_default_newsegment),
2294         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2295         (gst_base_src_get_range), (gst_base_src_loop),
2296         (gst_base_src_change_state):
2297         * gst/base/gstbasesrc.h:
2298         * gst/base/gstbasetransform.c:
2299         (gst_base_transform_prepare_output_buf),
2300         (gst_base_transform_event), (gst_base_transform_change_state):
2301         * gst/base/gstbasetransform.h:
2302         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2303         (gst_collect_pads_event):
2304         * gst/base/gstcollectpads.h:
2305         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2306         (gst_fake_src_create):
2307         * gst/elements/gstfakesrc.h:
2308         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2309         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2310         (gst_segment_set_last_stop), (gst_segment_set_seek),
2311         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2312         (gst_segment_to_running_time), (gst_segment_clip):
2313         * gst/gstsegment.h:
2314         More segment updates, replace code in plugins with segment
2315         helper functions.
2316
2317 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2318
2319         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2320         Don't ignore sscanf results
2321
2322 2005-11-21  Andy Wingo  <wingo@pobox.com>
2323
2324         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2325
2326         * *.h:
2327         * *.c: Ran scripts/update-macros. Oh yes.
2328
2329         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2330         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2331         GST_GET_LOCK, etc.
2332
2333         * scripts/update-macros: New script. Run it on your files to
2334         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2335         well.
2336
2337 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2338
2339         * docs/gst/Makefile.am:
2340         * docs/gst/gstreamer-docs.sgml:
2341         * docs/gst/gstreamer-sections.txt:
2342         * docs/gst/gstreamer.types:
2343         * gst/gstinfo.h:
2344           more docs fixes, add new api to the docs
2345
2346 2005-11-21  Andy Wingo  <wingo@pobox.com>
2347
2348         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2349         state_broadcast call.
2350
2351         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2352
2353 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2354
2355         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2356         function calls for arrays.
2357
2358 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2359
2360         * docs/random/ensonic/media-device-daemon.txt:
2361           wild idea, can this be done?
2362         * docs/gst/gstreamer-sections.txt:
2363         * gst/gsterror.h:
2364         * gst/gstfilter.c:
2365         * gst/gstfilter.h:
2366         * gst/gstplugin.h:
2367         * gst/gstpluginfeature.c:
2368         * gst/gsttrace.c:
2369         * gst/gstvalue.c:
2370         * gst/gstvalue.h:
2371           doc fixes and additions
2372
2373 2005-11-21  Andy Wingo  <wingo@pobox.com>
2374
2375         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2376         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2377         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2378         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2379         private to the basesrc implementation.
2380
2381         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2382         behalf of event function if necessary. It should no longer be
2383         necessary to take the stream lock in pad's event functions. Fixes
2384         #320299.
2385
2386 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2387         * docs/gst/gstreamer-sections.txt:
2388         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2389         (gst_structure_fixate_field_nearest_double),
2390         (gst_structure_fixate_field_boolean):
2391         * gst/gststructure.h:
2392         * win32/common/libgstreamer.def:
2393         * win32/gstreamer.def:
2394
2395         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2396         (#322027)
2397
2398 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2399
2400         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2401         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2402         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2403         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2404         (gst_fdsrc_uri_handler_init):
2405         * gst/elements/gstfdsrc.h:
2406           Port fd:// URI handler from 0.8 to fdsrc
2407
2408 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2409
2410         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2411         (gst_value_serialize_fourcc):
2412         * gst/gstvalue.h:
2413           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2414           consistent with our other format defines (#320324).
2415
2416 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2417
2418         * gst/gstvalue.c: (gst_value_is_fixed):
2419           Revert previous commit. Value lists are by definition
2420           not fixed, as they are a list of possible values.
2421
2422 2005-11-21  Andy Wingo  <wingo@pobox.com>
2423
2424         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2425         during the stable series if we need it. Fixes #319178.
2426
2427         * gst/gstevent.c (gst_event_new_filler): Removed.
2428
2429         * check/gst/gstevent.c: Update comment about filler events.
2430
2431 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2432
2433         * gst/gstvalue.c: (gst_value_is_fixed):
2434           Should handle both value arrays and value lists.
2435
2436 2005-11-21  Andy Wingo  <wingo@pobox.com>
2437
2438         patch by: Alessandro Dessina <alessandro nnva org>
2439
2440         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2441         functions to access arrays. Fixes #321962.
2442
2443 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2444
2445         * docs/gst/gstreamer.types:
2446           gst_collectpads_get_type => gst_collect_pads_get_type.
2447           
2448         * gst/base/gstbasetransform.c:
2449           Remove unused SIGNAL_HANDOFF enum.
2450
2451 2005-11-21  Andy Wingo  <wingo@pobox.com>
2452
2453         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2454         the event type (upstream, downstream, serialized). Renamed
2455         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2456         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2457         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2458
2459         * gst/gstevent.c: Update for new CUSTOM event names.
2460
2461         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2462
2463         * gst/gstevent.h:
2464         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2465         bug #319392.
2466
2467 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2468
2469         * docs/gst/gstreamer-sections.txt:
2470         * win32/common/libgstbase.def:
2471         * win32/libgstbase.def:
2472         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2473         (gst_collect_pads_class_init), (gst_collect_pads_init),
2474         (gst_collect_pads_finalize), (gst_collect_pads_new),
2475         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2476         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2477         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2478         (gst_collect_pads_start), (gst_collect_pads_stop),
2479         (gst_collect_pads_peek), (gst_collect_pads_pop),
2480         (gst_collect_pads_available), (gst_collect_pads_read),
2481         (gst_collect_pads_flush), (gst_collect_pads_event),
2482         (gst_collect_pads_chain):
2483         * gst/base/gstcollectpads.h:
2484           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2485           unimplemented functions as unimplemented. Add padding to
2486           GstCollectData. (#320766, #320423)
2487
2488 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2489
2490         * gst/gstmessage.c:
2491           Improve docs for DURATION message (usage of duration parameter)
2492           (#320113)
2493
2494 2005-11-20  Wim Taymans  <wim@fluendo.com>
2495
2496         * check/Makefile.am:
2497         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2498         (main):
2499         * gst/Makefile.am:
2500         * gst/gst.h:
2501         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2502         (gst_segment_set_seek), (gst_segment_set_newsegment),
2503         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2504         (gst_segment_clip):
2505         * gst/gstsegment.h:
2506         Added segment helper structure and methods. Not fully implemented
2507         yet.
2508         Added segment check.
2509
2510 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2511
2512         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2513           Add a deserialisation test for fractions
2514         * examples/metadata/read-metadata.c: (message_loop),
2515         (make_pipeline), (main):
2516           Fix up metadata reading sample.
2517         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2518           Debug format fix
2519         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2520           Don't try and fixate empty caps
2521         * gst/gst_private.h:
2522           Wrap in G_BEGIN_DECLS/G_END_DECLS
2523         * gst/gstvalue.c: (gst_value_collect_fraction),
2524         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2525         (gst_value_transform_string_fraction),
2526         (gst_value_compare_fraction):
2527           Add some extra guards to ensure that we don't end up 
2528           with an invalid denominator of 0 in a gstfraction and
2529           that fractions always get reduced.
2530
2531 2005-11-20  Wim Taymans  <wim@fluendo.com>
2532
2533         * docs/gst/gstreamer-sections.txt:
2534         * gst/gstbuffer.h:
2535         * gst/gstelement.c:
2536         * gst/gstformat.c:
2537         * gst/gstformat.h:
2538         * gst/gstindex.h:
2539         * gst/gstquery.c:
2540         * gst/gstquery.h:
2541         * gst/gstvalue.c:
2542         Doc fixes.
2543
2544 2005-11-20  Wim Taymans  <wim@fluendo.com>
2545
2546         * docs/design/part-TODO.txt:
2547         * gst/gstcaps.h:
2548         Make a proper enum of the flag.
2549
2550 2005-11-19  Wim Taymans  <wim@fluendo.com>
2551
2552         * docs/design/part-TODO.txt:
2553         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2554         (gst_format_to_quark), (gst_format_register):
2555         * gst/gstformat.h:
2556         * gst/gstquery.c: (_gst_query_initialize),
2557         (gst_query_type_get_name), (gst_query_type_to_quark),
2558         (gst_query_type_register):
2559         * gst/gstquery.h:
2560         Add type to quark and type to string conversions.
2561
2562 2005-11-19  Andy Wingo  <wingo@pobox.com>
2563
2564         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2565         #320097.
2566
2567 2005-11-19  Wim Taymans  <wim@fluendo.com>
2568
2569         * docs/design/part-TODO.txt:
2570         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2571         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2572         (gst_bin_handle_message_func):
2573         * gst/gstbin.h:
2574         Make message handling overridable.
2575
2576 2005-11-19  Andy Wingo  <wingo@pobox.com>
2577
2578         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2579
2580         * gst/gstclock.h:
2581         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2582         be a GstClockTime.
2583         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2584         is a GstClockTime. Fixes #321710.
2585
2586         * gst/gstclock.h (GstClock): Remove offset property. Add
2587         internal_calibration and external_calibration. Fix padding. Pad
2588         also by GstClockTime so we don't run into problems.
2589
2590         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2591         (gst_clock_get_rate_offset): Remove.
2592         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2593
2594         * gst/gstutils.h:
2595         * gst/gstutils.c (g_static_rec_cond_wait)
2596         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2597
2598         * gst/gstbin.c: Remove terrible continue_state prototype.
2599
2600         * gst/gstelement.h (gst_element_continue_state): Make public.
2601
2602         * gst/gstelement.h:
2603         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2604         by continue_state. Fixes #319389.
2605
2606         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2607         Really fixes #168438. However I don't see anywhere where the
2608         filter function is called... stupid GStreamer...
2609         
2610         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2611         don't have a dispose function, so it won't get called when the
2612         object is unreffed, but oh well!
2613
2614         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2615         allows a destroy function to be set so user_data can be freed.
2616         Fixes #168438.
2617         (gst_index_set_filter): Call gst_index_set_filter_full.
2618
2619         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2620
2621         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2622         string should produce an error, given the lack of a way to
2623         represent NULL strings. Fixes #165650.
2624         
2625         * gst/gstvalue.h: 
2626         * gst/gstvalue.c (gst_value_array_append_value) 
2627         (gst_value_array_prepend_value, gst_value_array_get_size) 
2628         (gst_value_array_get_value): New API, copied from
2629         gst_value_list_*, only operates on arrays.
2630         (gst_value_list_append_value, gst_value_list_prepend_value) 
2631         (gst_value_list_concat, gst_value_list_get_size) 
2632         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2633
2634         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2635         init_list, because it works on both.
2636         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2637         (gst_value_copy_list_or_array): Renamed from copy_list.
2638         (gst_value_free_list_or_array): Renamed from free_list.
2639         (gst_value_collect_list_or_array): Renamed from collect_list.
2640         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2641         (gst_value_list_or_array_peek_pointer): Renamed from
2642         list_peek_pointer.
2643         (_gst_value_array_value_table, _gst_value_list_value_table):
2644         Update value table functions.
2645         (gst_value_compare_list_or_array): Renamed from compare_list.
2646
2647         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2648         some constness.
2649
2650         * gst/gsttaglist.c:
2651         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2652         GstTagList*. Fixes #143472.
2653
2654         * gst/gststructure.h: Clarify what the foreach/map functions can
2655         or can't do to their arguments.
2656
2657 2005-11-18  Wim Taymans  <wim@fluendo.com>
2658
2659         * gst/gstclock.c: (gst_clock_set_calibration),
2660         (gst_clock_get_calibration):
2661         Doc and API fixes.
2662         Calibration can be set with internal time equal to current
2663         internal time too.
2664
2665 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * gst/gsterror.c:
2668         * gst/gsterror.h:
2669           document
2670
2671 2005-11-18  Andy Wingo  <wingo@pobox.com>
2672
2673         * configure.ac: 
2674         * pkgconfig/gstreamer-net.pc.in:
2675         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2676         * pkgconfig/Makefile.am: Add net pkgconfig files.
2677
2678 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2679
2680         * gst/gstcaps.c:
2681         * gst/gstghostpad.c:
2682         * gst/gsttrace.c:
2683         * gst/gstvalue.c:
2684         * gst/gstvalue.h:
2685           docs fixes
2686
2687 2005-11-18  Andy Wingo  <wingo@pobox.com>
2688
2689         * gst/net/gstnetclientclock.c: Turn off debugging.
2690
2691         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2692         times connverge somewhat. Can't make a real test.
2693
2694         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2695         integer arithmetic. Return the minimum of the domain, which can be
2696         set as "internal" for gst_clock_set_calibration.
2697         (gst_net_client_clock_observe_times): Call _set_calibration.
2698         (gst_net_client_clock_new): Call _set_calibration instead of
2699         rate_offset.
2700
2701         * check/net/gstnetclientclock.c (test_functioning): Use the right
2702         adjustment api.
2703
2704         * gst/gstclock.h:
2705         * gst/gstclock.c (gst_clock_get_calibration) 
2706         (gst_clock_set_calibration): New functions, obsolete the ones I
2707         added yesterday. Doh. Precision issues mean we have to extrapolate
2708         from a point in the more recent past than 1970.
2709         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2710         obsolete.
2711         (gst_clock_adjust_unlocked): Use the right calibration data.
2712
2713 2005-11-18  Edward Hervey  <edward@fluendo.com>
2714
2715         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2716         Also reset the ->current_* values in READY->PAUSED
2717
2718 2005-11-18  Andy Wingo  <wingo@pobox.com>
2719
2720         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2721         Whoops, check the right fd. Also add some debugging.
2722         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2723         (do_linear_regression): Add a crapload of debugging. Subtract off
2724         the minimum values from the input series to discard unneeded bits.
2725         Use only int arithmetic. There is still double arithmetic when
2726         calculating the intercept that needs fixing. Return boolean to
2727         indicate success; FALSE would mean the domain or range is too
2728         great. Still needs fixes.
2729
2730 2005-11-18  Wim Taymans  <wim@fluendo.com>
2731
2732         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2733         For the current position in stream time, we need to subtract
2734         accumulated time.
2735         
2736         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2737         Release lock before calling the callback function of async
2738         entries.
2739
2740 2005-11-18  Andy Wingo  <wingo@pobox.com>
2741
2742         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2743         Port goes all the way to MAXUINT16.
2744
2745         * gst/net/gstnettimeprovider.c: Make the port range the same as
2746         for the kernel: 0 assigns, otherwise ports are less than
2747         MAXUINT16.
2748
2749         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2750         port change.
2751
2752         * check/net/gstnetclientclock.c (test_functioning): Add the start
2753         of another test. 
2754
2755 2005-11-18  Wim Taymans  <wim@fluendo.com>
2756
2757         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2758         (gst_bin_remove_func), (bin_bus_handler):
2759         * gst/gstbin.h:
2760         Removing a clock provider from a bin, triggers a clock lost message
2761         so that a new clock will be selected.
2762         Adding a clock to a bin triggers a clock provider message.
2763         Make sure we reselect a clock when we received a clock lost message.
2764         Keep a reference to the element that provided the clock.
2765
2766 2005-11-18  Andy Wingo  <wingo@pobox.com>
2767
2768         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2769         the clock initially so it produces values around the base time.
2770         (gst_net_client_clock_class_init): Typo fix.
2771         (gst_net_client_clock_thread): Add note on when the socket gets
2772         closed.
2773
2774 2005-11-17  Wim Taymans  <wim@fluendo.com>
2775
2776         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2777         Free remote and local time arrays.
2778
2779 2005-11-17  Wim Taymans  <wim@fluendo.com>
2780
2781         * gst/net/gstnetclientclock.c: (do_linear_regression),
2782         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2783         Fix compilation, uninitialized vars and a forgotten continue.
2784
2785 2005-11-17  Andy Wingo  <wingo@pobox.com>
2786
2787         * check/Makefile.am (check_PROGRAMS): 
2788         * check/net/gstnetclientclock.c: Add a most minimal test for the
2789         net client clock. More to come later.
2790
2791         * gst/net/gstnet.h: 
2792         * gst/net/Makefile.am: Add netclientclock.
2793
2794         * gst/net/gstnetclientclock.h:
2795         * gst/net/gstnetclientclock.c: New files, implement an untested
2796         GstClock that takes its time from a network time provider.
2797         Implements the algorithm in network-clock.scm.
2798
2799         * tests/network-clock.scm (*window-size*): Rename from
2800         *queue-length*.
2801         * tests/network-clock.scm (network-time): 
2802         * tests/network-clock-utils.scm (q-push): Update callers.
2803
2804 2005-11-17  Wim Taymans  <wim@fluendo.com>
2805
2806         * gst/gstbin.c: (gst_bin_provide_clock_func),
2807         (gst_bin_sort_iterator_new):
2808         And unref the child too..
2809
2810 2005-11-17  Wim Taymans  <wim@fluendo.com>
2811
2812         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2813         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2814         Refactor the sort iterator so it can be used while holding the
2815         LOCK too.
2816         Make clock selection select a clock closest to the source.
2817
2818 2005-11-17  Michael Smith <msmith@fluendo.com>
2819
2820         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2821         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2822         * gst/gstclock.h:
2823           Anonymous structs are a gcc (and some other compilers) extension, so
2824           don't use them. Since this is only for ABI-compatibility, and our
2825           API/ABI freeze is over in a few days, this whole thing will only
2826           last a few days, so don't bother trying to think up a meaningful
2827           name for the struct.
2828
2829 2005-11-17  Andy Wingo  <wingo@pobox.com>
2830
2831         * gst/gstclock.h (GstClock): Add rate and offset properties,
2832         preserving ABI stability. Add rate/offset accessors. Will file bug
2833         for the freeze break.
2834
2835         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2836         and offset, trying to keep precision and avoiding
2837         underflow/overflow.
2838         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2839         functions. Make gst_clock_set_time_adjust obsolete.
2840         (gst_clock_set_time_adjust): Note that this function is obsolete.
2841         Will file bug soon.
2842
2843         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2844         greppable by using GST_PADDING-1+1.
2845
2846 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2847
2848         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2851           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2852
2853         * gst/gstpadtemplate.h:
2854         * gst/gstpluginfeature.h:
2855           Don't use c++ style comments in headers (#321638).
2856
2857 2005-11-16  Andy Wingo  <wingo@pobox.com>
2858
2859         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2860         buffer.
2861
2862         * check/net/gstnettimeprovider.c: Check to see that the time
2863         provider actually provides times. Works, yo!
2864
2865 2005-11-16  Wim Taymans  <wim@fluendo.com>
2866
2867         * check/Makefile.am:
2868         Enable more tests.
2869
2870         * check/elements/fakesrc.c: (GST_START_TEST):
2871         Set element to NULL before disposing it.
2872
2873 2005-11-16  Andy Wingo  <wingo@pobox.com>
2874
2875         * gst/net/Makefile.am:
2876         * gst/net/gstnet.h:
2877         * gst/net/gstnettimeprovider.c: 
2878         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2879         provider, include it from gstnet.h, and add it to the build.
2880
2881         * gst/net/gstnettimepacket.h: 
2882         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2883         sending and receiving.
2884
2885 2005-11-16  Wim Taymans  <wim@fluendo.com>
2886
2887         * check/Makefile.am:
2888         Enable valgrind check.
2889
2890         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2891         (gst_fake_src_alloc_buffer):
2892         Fix memleak.
2893
2894 2005-11-16  Wim Taymans  <wim@fluendo.com>
2895
2896         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2897         Call parent finalize too.
2898
2899 2005-11-16  Wim Taymans  <wim@fluendo.com>
2900
2901         * check/Makefile.am:
2902         Enable valgrind check that should work fine now.
2903
2904         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2905         * gst/gstqueue.c: (gst_queue_init):
2906         Fix memleaks in pad allocation.
2907
2908 2005-11-16  Andy Wingo  <wingo@pobox.com>
2909
2910         * gst/net/Makefile.am:
2911         * gst/net/gstnet.h: New part of core to hold network elements and
2912         objects. Put in core because it exposes API that applications want
2913         to use. The library is named libgstnet-tempname right now because
2914         of the existing libgstnet in gst-plugins-base. Solution is
2915         probably to rename the one in plugins-base; will file a bug for
2916         the freeze break.
2917
2918         * gst/net/gstnettimeprovider.c: 
2919         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2920         get_time call over the network.
2921
2922         * configure.ac: 
2923         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2924
2925         * check/Makefile.am:
2926         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2927         get additions shortly.
2928
2929 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2930
2931         * gst/gstpad.c: (gst_pad_new_from_static_template):
2932         * gst/gstpad.h:
2933           add gst_pad_new_from_static_template functions
2934         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2935         (gst_check_setup_sink_pad):
2936         * gst/elements/gsttee.c: (gst_tee_init):
2937           and use them
2938
2939 2005-11-16  Wim Taymans  <wim@fluendo.com>
2940
2941         * gst/gstpad.c: (gst_pad_pause_task):
2942         Removed warning, it's not really an error either.
2943
2944 2005-11-16  Wim Taymans  <wim@fluendo.com>
2945
2946         * gst/base/gstbasetransform.c:
2947         (gst_base_transform_prepare_output_buf),
2948         (gst_base_transform_event):
2949         Check if the caps are NULL, this can happen if the element
2950         is shutting down and the pad caps are set to NULL.
2951
2952 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * gst/elements/gsttee.c: (gst_tee_init):
2955           fix pad template leak in tee
2956
2957 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * gst/glib-compat.c: (g_value_dup_gst_object):
2960         * gst/glib-compat.h:
2961         * gst/gstpad.c: (gst_pad_set_property):
2962           use gst_object_ref when setting the pad template; this will
2963           trigger the pad template leaks on GLib 2.6 and the slaves
2964
2965 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2966
2967         * gst/glib-compat.c: (gst_flags_get_first_value):
2968         * gst/glib-compat.h:
2969         * gst/gstregistryxml.c:
2970           remove functions copied from GLib 2.6
2971
2972 2005-11-16  Michael Smith <msmith@fluendo.com>
2973
2974         * gst/Makefile.am:
2975           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2976           do, but only breaks with newer valgrind versions. We're not a
2977           valgrind tool, we have no link-time dependencies on libcoregrind.
2978
2979 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2980
2981         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2982           some debug changes
2983         * gst/gstmessage.h:
2984           typo fixes
2985
2986 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2987
2988         * gst/base/gstbasesrc.c: (gst_base_src_init):
2989         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2990         * gst/gstqueue.c: (gst_queue_init):
2991         * gst/gstregistryxml.c: (load_feature):
2992           Revert all these unrefs, they don't even pass make check !
2993
2994 2005-11-15  Johan Dahlin  <johan@gnome.org>
2995
2996         * gst/base/gstbasesrc.c: (gst_base_src_init):
2997         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2998         * gst/gstqueue.c: (gst_queue_init): 
2999         Free pad templates, fixes a couple of leaks.
3000
3001 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3002
3003         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3004
3005         * gst/gstpad.c: (gst_pad_get_property):
3006           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3007           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3008           (#321452)
3009
3010 2005-11-15  Wim Taymans  <wim@fluendo.com>
3011
3012         * gst/gstevent.c:
3013         Small doc update.
3014
3015 2005-11-15  Andy Wingo  <wingo@pobox.com>
3016
3017         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3018
3019         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3020         using GST_CLOCK_TIME_NONE to disable base time management.
3021         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3022         time if it was NONE before.
3023         (gst_pipeline_change_state): Only munge the base time if
3024         stream_time != GST_CLOCK_TIME_NONE.
3025
3026         * check/gst/gstpipeline.c (test_base_time): Punt around the
3027         problem of the probe not being called, because that's not the
3028         issue I'm looking at. Add a check that setting stream_time to NONE
3029         disables base time management.
3030         
3031 2005-11-15  Wim Taymans  <wim@fluendo.com>
3032
3033         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3034         segment_stop == -1 at startup.
3035
3036         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3037         (gst_base_transform_change_state):
3038         Init segment values at start.
3039
3040 2005-11-15  Wim Taymans  <wim@fluendo.com>
3041
3042         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3043         0 segment values are 0 in any format.
3044
3045         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3046         * gst/base/gstbasetransform.h:
3047         Parse newsegment correctly in basetransform
3048
3049         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3050         Sync to clock using updated segment values.
3051
3052 2005-11-15  Andy Wingo  <wingo@pobox.com>
3053
3054         * check/gst/gstpipeline.c (test_base_time): Add check that the
3055         base time and stream time are reset correctly.
3056
3057 2005-11-15  Wim Taymans  <wim@fluendo.com>
3058
3059         * docs/design/part-TODO.txt:
3060         Some more TODO items.
3061
3062 2005-11-15  Andy Wingo  <wingo@pobox.com>
3063
3064         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3065         error if the user selected "no clock" as the clocking method.
3066
3067         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3068         timestamps with live capture.
3069
3070         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3071         is 0 but we are a live source, timestamp the buffers using the
3072         element's clock.
3073
3074 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3075
3076         * docs/gst/gstreamer-sections.txt:
3077         * gst/gsterror.c:
3078         * gst/gstghostpad.c:
3079         * gst/gstobject.h:
3080         * gst/gstxml.c:
3081           more section docs
3082
3083 2005-11-14  Wim Taymans  <wim@fluendo.com>
3084
3085         * common/gst.supp:
3086           add suppressions from Wim's Debian machine
3087
3088 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3089
3090         * common/gst.supp:
3091           add suppressions from Andy's AMD64 Ubuntu machine
3092
3093 2005-11-14  Andy Wingo  <wingo@pobox.com>
3094
3095         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3096         STATE_LOCK not necessary. Fixes #311489.
3097
3098         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3099         #305291.
3100
3101         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3102         this function is not implemented.
3103
3104 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3105
3106         * gst/base/gstbasetransform.c:
3107         (gst_base_transform_prepare_output_buf):
3108         Ref the source pad caps while we need them.
3109         Fixes (#321386)
3110
3111 2005-11-11  Wim Taymans  <wim@fluendo.com>
3112
3113         * docs/gst/gstreamer-sections.txt:
3114         Added some docs for GstCollectData.
3115
3116         * gst/base/gstadapter.c:
3117         Some small code example fix.
3118
3119         * gst/base/gstcollectpads.c:
3120         * gst/base/gstcollectpads.h:
3121         Document some more.
3122
3123 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3124
3125         * configure.ac: back to HEAD
3126
3127 === release 0.9.5 ===
3128
3129 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3130
3131         * configure.ac:
3132           releasing 0.9.5, "Bike Lunch Day"
3133
3134 2005-11-11  Wim Taymans  <wim@fluendo.com>
3135
3136         * gst/gstbuffer.c: (_gst_buffer_copy):
3137         Copy more flags.
3138
3139         * gst/gstcaps.c: (gst_caps_is_equal):
3140         Fix some docs.
3141         Make _is_equal fast in the trivial cases.
3142
3143         * gst/gstminiobject.c:
3144         * gst/gstminiobject.h:
3145         More docs. Spifify .h file.
3146
3147         * gst/gstutils.c:
3148         Small doc update.
3149
3150 2005-11-11  Wim Taymans  <wim@fluendo.com>
3151
3152         * gst/base/gstbasetransform.c:
3153         (gst_base_transform_prepare_output_buf),
3154         (gst_base_transform_handle_buffer):
3155         Small cleanups.
3156         If we're processing a buffer and need to allocate an output
3157         buffer, we cannot accept a format change. If we did get a 
3158         format change, we have to alloc a buffer ourselves of the 
3159         right size.
3160
3161 2005-11-11  Wim Taymans  <wim@fluendo.com>
3162
3163         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3164         While checking the flag for reentrancy in the gstcaps function
3165         is nice to detect recursive invocations, it also makes it 
3166         impossible to call getcaps from multiple threads, which must be
3167         possible. So, checking for recursive calls has to go.
3168
3169 2005-11-11  Michael Smith <msmith@fluendo.com>
3170
3171         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3172           Don't sync on buffers that fall partially outside our current
3173           segment. Prevents an assertion failure/abort playing some files.
3174
3175 2005-11-10  Andy Wingo  <wingo@pobox.com>
3176
3177         * check/gst/gstbin.c (test_message_state_changed_children): Style
3178         fix..
3179
3180         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3181         gst_bus_poll with the signal watch. Ensures that poll and a signal
3182         watch see the same messages.
3183
3184         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3185         a poll and a watch at the same time get the same messages.
3186
3187 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3188
3189         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3190         * gst/gstcaps.c: (gst_caps_intersect):
3191           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3192           and it's not needed.
3193
3194 2005-11-10  Wim Taymans  <wim@fluendo.com>
3195
3196         * docs/design/part-TODO.txt:
3197         Updated todo.
3198
3199 2005-11-10  Wim Taymans  <wim@fluendo.com>
3200
3201         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3202         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3203         (gst_base_src_do_sync), (gst_base_src_get_range):
3204         Implement clock sync in base class.
3205
3206 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3207
3208         patch by: Tim-Philipp Müller <tim at centricular dot net>
3209
3210         * gst/gststructure.c: (gst_structure_parse_field),
3211         (gst_structure_from_string):
3212           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3213           so that gst_parse_launch() can deal with spaces in filtered link
3214           caps (fixes #164479)
3215         * check/gst/capslist.h:
3216         * check/gst/gststructure.c: (GST_START_TEST):
3217           add unit tests for this change
3218
3219 2005-11-10  Wim Taymans  <wim@fluendo.com>
3220
3221         * docs/gst/gstreamer-sections.txt:
3222         * gst/gstelement.c:
3223         * gst/gstelement.h:
3224         Fix docs, move some STATE macros to private.
3225
3226 2005-11-10  Wim Taymans  <wim@fluendo.com>
3227
3228         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3229         Added check for bug #317341
3230
3231         * gst/gstbuffer.c:
3232         * gst/gstbuffer.h:
3233         Some more spiffifying.
3234
3235         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3236         Call peer linkfunction if we are a source pad. Totally fixes
3237         #317341
3238
3239         * gst/gstpad.c:
3240         Update docs, source pads should call the peer linkfunction
3241         so they can atomically perform the pad link.
3242
3243 2005-11-09  Wim Taymans  <wim@fluendo.com>
3244
3245         * gst/gstbuffer.c:
3246         * gst/gstbuffer.h:
3247         Uber-spiffy-spiffify some more.
3248
3249 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3250
3251         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3252         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3253         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3254         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3255         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3256         * gst/gstpad.c: (gst_pad_init):
3257           Use GST_DEBUG_FUNCPTR() more extensively.
3258
3259 2005-11-09  Wim Taymans  <wim@fluendo.com>
3260
3261         * gst/gstobject.c: (gst_object_class_init):
3262         * gst/gstobject.h:
3263         Documentation fixes.
3264
3265 2005-11-09  Edward Hervey  <edward@fluendo.com>
3266
3267         * gst/gsttypefindfactory.c:
3268         Fix docs.
3269         
3270 2005-11-09  Edward Hervey  <edward@fluendo.com>
3271
3272         * gst/base/gsttypefindhelper.c:
3273         * gst/gsttypefind.c:
3274         * gst/gsttypefind.h:
3275         Fix docs.
3276
3277 2005-11-09  Wim Taymans  <wim@fluendo.com>
3278
3279         * gst/gstiterator.c:
3280         Fix revision data.
3281
3282         * gst/gsttask.c:
3283         * gst/gsttask.h:
3284         Fix docs.
3285
3286 2005-11-09  Wim Taymans  <wim@fluendo.com>
3287
3288         * gst/gstevent.h:
3289         * gst/gsturi.h:
3290         Fix docs.
3291
3292 2005-11-09  Wim Taymans  <wim@fluendo.com>
3293
3294         * docs/gst/gstreamer-sections.txt:
3295         Moved the message async delivery private lock and cond
3296         to the private section.
3297
3298         * gst/gstmessage.c:
3299         * gst/gstmessage.h:
3300         Fixed docs.
3301
3302 2005-11-09  Edward Hervey  <edward@fluendo.com>
3303
3304         * docs/gst/gstreamer-sections.txt:
3305         * gst/gsturi.c:
3306         * gst/gsturi.h:
3307         Document GstURIHandler
3308
3309 2005-11-09  Wim Taymans  <wim@fluendo.com>
3310
3311         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3312         (gst_iterator_find_custom):
3313         * gst/gstiterator.h:
3314         Fix iterator docs.
3315
3316 2005-11-09  Wim Taymans  <wim@fluendo.com>
3317
3318         * gst/gstbin.h:
3319         Document another field.
3320
3321         * gst/gststructure.c:
3322         * gst/gststructure.h:
3323         Document.
3324
3325 2005-11-09  Wim Taymans  <wim@fluendo.com>
3326
3327         * gst/gstbin.h:
3328         Documented structs.
3329
3330 2005-11-09  Wim Taymans  <wim@fluendo.com>
3331
3332         * docs/gst/gstreamer-sections.txt:
3333         Added some new macros.
3334
3335         * gst/gstclock.c:
3336         * gst/gstclock.h:
3337         * gst/gstobject.h:
3338         Docs updates.
3339
3340 2005-11-09  Wim Taymans  <wim@fluendo.com>
3341
3342         * docs/design/part-TODO.txt:
3343         Some more items for the TODO
3344
3345         * gst/gstcaps.c:
3346         * gst/gstcaps.h:
3347         Document GstCaps.
3348
3349 2005-11-09  Andy Wingo  <wingo@pobox.com>
3350
3351         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3352         to work on something else now tho...
3353
3354         * gst/base/gstadapter.c: More adapter docs.
3355
3356         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3357         (gst_file_sink_stop): New functions, replace the state change
3358         handler.
3359         (gst_file_sink_class_init): Hook up the start and stop functions.
3360         (gst_file_sink_base_init): Don't set the state change handler any
3361         more. It was a bit ugly too, being set from here...
3362         (gst_file_sink_get_property, gst_file_sink_set_property):
3363         Cleanups...
3364         (gst_file_sink_set_location): More robust check that doesn't call
3365         GST_STATE. Ugggggg.
3366
3367 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3368
3369         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3370           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3371
3372 2005-11-08  Wim Taymans  <wim@fluendo.com>
3373
3374         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3375         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3376         (gst_base_sink_chain), (gst_base_sink_change_state):
3377         * gst/base/gstbasesink.h:
3378         * gst/base/gstbasesrc.h:
3379         * gst/gstelement.h:
3380         * gst/gstevent.h:
3381         Avoid excessive typechecking in macros.
3382
3383         * gst/gstminiobject.c: (gst_mini_object_get_type),
3384         (gst_mini_object_init), (gst_mini_object_new),
3385         (gst_mini_object_free):
3386         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3387         (gst_object_finalize):
3388         Remove cruft code, optimize alloc_trace.
3389
3390 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3391
3392         * docs/faq/gst-uninstalled:
3393           fix up PS1 for systems that try to reset it
3394
3395 2005-11-07  Wim Taymans  <wim@fluendo.com>
3396
3397         * gst/base/gstbasesrc.c: (gst_base_src_init),
3398         (gst_base_src_get_range):
3399         Set the segment_end to -1 initially. Fixed typefind.
3400
3401 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3402
3403         * gst/base/gstadapter.c:
3404           Debug category should be 'adapter', not 'GstAdapter'.
3405           
3406         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3407         (gst_collectpads_class_init), (gst_collectpads_init),
3408         (gst_collectpads_peek), (gst_collectpads_pop),
3409         (gst_collectpads_event), (gst_collectpads_chain):
3410           Add debug category and some debugging output. Use boilerplate
3411           macros. Remove some extraneous words from docs.
3412
3413 2005-11-05  Andy Wingo  <wingo@pobox.com>
3414
3415         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3416         macro.
3417
3418 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3419
3420         * docs/gst/gstreamer-sections.txt:
3421         * gst/gstcaps.h:
3422         * gst/gstinfo.c:
3423         * gst/gstminiobject.h:
3424         * gst/gstobject.h:
3425         * gst/gstutils.h:
3426           more docs added
3427
3428 2005-11-04  Wim Taymans  <wim@fluendo.com>
3429
3430         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3431         Small update to stop at the configured segment_end
3432         position.
3433
3434 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3435
3436         * gst/gstregistry.c:
3437         * gst/gstregistry.h:
3438           added missing docs
3439
3440 2005-11-04  Edward Hervey  <edward@fluendo.com>
3441
3442         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3443         Check if we are doing a segment seek and have arrived at the
3444         end of that segment.
3445
3446 2005-11-04  Wim Taymans  <wim@fluendo.com>
3447
3448         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3449         Don't leak a mutex unlock in case of an error.
3450
3451         * gst/gstbus.h:
3452         Doc fixes.
3453
3454 2005-11-04  Wim Taymans  <wim@fluendo.com>
3455
3456         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3457         (gst_bus_post):
3458         Get the context to wake up only once.
3459
3460 2005-11-03  Wim Taymans  <wim@fluendo.com>
3461
3462         * check/states/sinks.c: (GST_START_TEST):
3463         Uncomment fixed check.
3464
3465         * docs/design/part-TODO.txt:
3466         Updated TODO.
3467
3468         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3469         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3470         (gst_base_sink_get_position):
3471         If we are going to PLAYING, post the right pending state
3472         when we post the intermediate paused message.
3473
3474         * gst/gstelement.c: (gst_element_continue_state),
3475         (gst_element_set_state_func), (gst_element_change_state):
3476         Don't post state changes that were between the same state
3477         and were not ASYNC.
3478
3479 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3480
3481         * docs/gst/gstreamer-sections.txt:
3482         * gst/gstcaps.h:
3483         * gst/gstinfo.c:
3484         * gst/gstminiobject.h:
3485         * gst/gstobject.h:
3486         * gst/gstutils.h:
3487           more docs and doc style fixes
3488
3489 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3490
3491         * docs/gst/gstreamer-sections.txt:
3492         * gst/gstelement.c:
3493         * gst/gstminiobject.c:
3494         doc fixes
3495
3496 2005-11-03  Andy Wingo  <wingo@pobox.com>
3497
3498         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3499         state-changed messages actually have the right order and the right
3500         values.
3501
3502 2005-11-03  Wim Taymans  <wim@fluendo.com>
3503
3504         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3505         Added some more checks. Specifically the case where NO_PREROLL
3506         elements are in the pipeline.
3507
3508         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3509         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3510         (gst_base_sink_get_position):
3511         Post READY->PAUSED state change messages too.
3512         Fix bug where VOID was posted as pending state...
3513
3514         * gst/gstbin.c: (gst_bin_recalc_state):
3515         use _element_continue_state() to continue the state change.
3516
3517         * gst/gstelement.c: (gst_element_continue_state),
3518         (gst_element_commit_state), (gst_element_set_state_func),
3519         (gst_element_change_state), (gst_element_change_state_func):
3520         Lots of state change cleanups, assign the STATE_RETURN in
3521         a new continue_state() function that also propagates the
3522         last return value from a state change to the app.
3523         Update some debug statements with proper category.
3524
3525 2005-11-03  Wim Taymans  <wim@fluendo.com>
3526
3527         * docs/design/part-events.txt:
3528         * docs/design/part-gstpipeline.txt:
3529         * docs/design/part-messages.txt:
3530         * docs/design/part-overview.txt:
3531         * docs/design/part-seeking.txt:
3532         * docs/design/part-states.txt:
3533         * docs/design/part-trickmodes.txt:
3534         * docs/manual/advanced-position.xml:
3535         Small docs updates.
3536
3537         * gst/gstobject.h:
3538         People think !! is ugly, this looks better.
3539
3540         * gst/gstpad.c: (gst_pad_set_blocked_async):
3541         Remove !! since it's fixed elsewhere now.
3542
3543 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3544
3545         * gst/gstminiobject.h:
3546         * gst/gstobject.h:
3547           Add !! to _FLAG_IS_SET macros to make the result boolean.
3548
3549 2005-11-03  Edward Hervey  <edward@fluendo.com>
3550
3551         * gst/gstpad.c: (gst_pad_set_blocked_async):
3552         comparing a flag and a gboolean rarely returns coherent results...
3553         Added two characters (!!) to make that work correctly.
3554         
3555 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3556
3557         * gst/gstbus.c: (gst_bus_class_init):
3558           Fix some typos.
3559           
3560         * gst/gstqueue.c: (gst_queue_loop):
3561           Don't assume a miniobject that isn't a buffer is an
3562           event (it could be that there is a refcounting
3563           problem somewhere and the pointer is stale and
3564           refers to an already destroyed miniobject).
3565
3566 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3567
3568         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3569
3570 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3571
3572         * docs/manual/advanced-position.xml:
3573           Update seek example and explanations to current 0.9 API.
3574
3575         * gst/elements/gsttypefindelement.c:
3576         (gst_type_find_element_activate):
3577           Remove FIXME comment now that the found caps
3578           are unreffed.
3579
3580 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3581
3582         * gst/gstregistryxml.c: (load_feature):
3583           Add another GST_STR_NULL instance
3584
3585 2005-11-02  Edward Hervey  <edward@fluendo.com>
3586
3587         * gst/gstpad.c: (handle_pad_block):
3588         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3589         
3590 2005-11-02  Wim Taymans  <wim@fluendo.com>
3591
3592         * gst/gstbin.c:
3593         Fix typo in docs.
3594
3595         * gst/gstelement.c: (gst_element_commit_state):
3596         Remove unused value.
3597
3598         * gst/gstiterator.c:
3599         Mention that the returned element is reffed in the docs.
3600
3601 2005-11-02  Wim Taymans  <wim@fluendo.com>
3602
3603         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3604         (gst_pad_push), (gst_pad_push_event):
3605         Unlock blocked pads when they are flushed.
3606
3607 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3608
3609         * docs/README:
3610         * docs/gst/gstreamer-sections.txt:
3611         * gst/gstbin.c:
3612           doc updates
3613         * gst/gstregistry.c: (gst_registry_scan_path_level):
3614           fix for a nasty little missed situation where an installed plug-in
3615           which was in the cache did not get overridden by an uninstalled one
3616           which was earlier in the plugin path because the newly created plugin
3617           for the uninstalled one (not in the registry) didn't get its
3618           ->registered set to TRUE
3619
3620 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3621
3622         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3623         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3624         (gst_collectpads_is_active), (gst_collectpads_collect),
3625         (gst_collectpads_collect_range), (gst_collectpads_start),
3626         (gst_collectpads_stop), (gst_collectpads_peek),
3627         (gst_collectpads_pop), (gst_collectpads_available),
3628         (gst_collectpads_read), (gst_collectpads_flush):
3629           Guard public API with assertions.
3630         
3631         * gst/gstpad.c:
3632           Fix docs for gst_pad_set_link_function().
3633
3634 2005-11-02  Johan Dahlin  <johan@gnome.org>
3635
3636         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3637         Unref found_caps after we used it.
3638
3639 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3640
3641         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3642           Don't try to ref NULL.
3643
3644 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3645
3646         * win32/common/config.h.in:
3647           provide a GST_FUNCTION that just gives a string for now
3648
3649 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3650
3651         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3652         (gst_object_flags_get_type), (register_gst_bin_flags),
3653         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3654         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3655         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3656         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3657         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3658         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3659         (gst_clock_flags_get_type), (register_gst_state),
3660         (gst_state_get_type), (register_gst_state_change_return),
3661         (gst_state_change_return_get_type), (register_gst_state_change),
3662         (gst_state_change_get_type), (register_gst_element_flags),
3663         (gst_element_flags_get_type), (register_gst_core_error),
3664         (gst_core_error_get_type), (register_gst_library_error),
3665         (gst_library_error_get_type), (register_gst_resource_error),
3666         (gst_resource_error_get_type), (register_gst_stream_error),
3667         (gst_stream_error_get_type), (register_gst_event_type),
3668         (gst_event_type_get_type), (register_gst_seek_type),
3669         (gst_seek_type_get_type), (register_gst_seek_flags),
3670         (gst_seek_flags_get_type), (register_gst_format),
3671         (gst_format_get_type), (register_gst_index_certainty),
3672         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3673         (gst_index_entry_type_get_type),
3674         (register_gst_index_lookup_method),
3675         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3676         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3677         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3678         (gst_index_flags_get_type), (register_gst_debug_level),
3679         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3680         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3681         (gst_iterator_result_get_type), (register_gst_iterator_item),
3682         (gst_iterator_item_get_type), (register_gst_message_type),
3683         (gst_message_type_get_type), (register_gst_mini_object_flags),
3684         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3685         (gst_pad_link_return_get_type), (register_gst_flow_return),
3686         (gst_flow_return_get_type), (register_gst_activate_mode),
3687         (gst_activate_mode_get_type), (register_gst_pad_direction),
3688         (gst_pad_direction_get_type), (register_gst_pad_flags),
3689         (gst_pad_flags_get_type), (register_gst_pad_presence),
3690         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3691         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3692         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3693         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3694         (gst_plugin_flags_get_type), (register_gst_rank),
3695         (gst_rank_get_type), (register_gst_query_type),
3696         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3697         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3698         (gst_tag_flag_get_type), (register_gst_task_state),
3699         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3700         (gst_alloc_trace_flags_get_type),
3701         (register_gst_type_find_probability),
3702         (gst_type_find_probability_get_type), (register_gst_uri_type),
3703         (gst_uri_type_get_type), (register_gst_parse_error),
3704         (gst_parse_error_get_type):
3705         * win32/common/gstversion.h:
3706           update win32 copies
3707
3708 2005-11-01  Luca Ognibene  <luogni@tin.it>
3709
3710         * gst/gst.c:
3711           fix docs. popt is dead, long live GOption.
3712
3713 2005-10-31  Wim Taymans  <wim@fluendo.com>
3714
3715         * gst/gstbuffer.h:
3716         Small doc fix.
3717
3718 2005-10-31  Andy Wingo  <wingo@pobox.com>
3719
3720         * Boo!
3721
3722         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3723
3724         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3725         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3726         the possibility of deadlocks here if code calling notify() or
3727         set() has a lock that can be taken in another notify handler (ABBA
3728         with class lock and e.g. python GIL state lock).
3729
3730 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3731
3732         * gst/gstbus.c: Doc updates.
3733
3734 2005-10-28  Wim Taymans  <wim@fluendo.com>
3735
3736         * docs/design/part-TODO.txt:
3737         * gst/gstiterator.c:
3738         * gst/gstsystemclock.c:
3739         * gst/gstsystemclock.h:
3740         Doc updates.
3741
3742 2005-10-28  Edward Hervey  <edward@fluendo.com>
3743
3744         * docs/gst/gstreamer-docs.sgml:
3745         * docs/gst/gstreamer-sections.txt:
3746         the GstURIType documentation page is private, it only defines GstURIType
3747         which should be defined in the GstURIHandler page
3748         
3749 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3750
3751         * gst/gstbin.c: (gst_bin_class_init):
3752         * gst/gstbin.h:
3753         * gst/gstutils.c:
3754         Documentation updates.
3755
3756 2005-10-28  Wim Taymans  <wim@fluendo.com>
3757
3758         * docs/gst/gstreamer-sections.txt:
3759         * gst/gstclock.c:
3760         * gst/gstclock.h:
3761         Documented the clocks.
3762
3763 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3764
3765         * docs/gst/gstreamer-sections.txt:
3766           move some macros to private sections
3767         * gst/gstminiobject.c:
3768         * gst/gstminiobject.h:
3769           add descriptions provided by ds and some more
3770         * gst/gstpad.h:
3771           mark macro as to be removed
3772
3773 2005-10-28  Wim Taymans  <wim@fluendo.com>
3774
3775         * docs/design/part-TODO.txt:
3776         Add an item to TODO.
3777
3778         * gst/gstiterator.c: (gst_iterator_fold),
3779         (gst_iterator_find_custom):
3780         * gst/gstiterator.h:
3781         Add iterator docs.
3782
3783 2005-10-28  Wim Taymans  <wim@fluendo.com>
3784
3785         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3786         (gst_base_transform_init):
3787         Don't leak class.
3788
3789         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3790         An EOS event marks the queue as completely filled.
3791
3792 2005-10-27  Wim Taymans  <wim@fluendo.com>
3793
3794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3795         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3796         Some more debugging.
3797
3798         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3799         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3800         (gst_base_transform_event), (gst_base_transform_getrange),
3801         (gst_base_transform_chain):
3802         * gst/base/gstbasetransform.h:
3803         Fix debugging,
3804         Protect transform and concurrent buffer alloc with a new lock.
3805         Try not to break ABI/API.
3806
3807 2005-10-27  Wim Taymans  <wim@fluendo.com>
3808
3809         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3810         (gst_base_src_init), (gst_base_src_query),
3811         (gst_base_src_default_newsegment),
3812         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3813         (gst_base_src_send_event), (gst_base_src_event_handler),
3814         (gst_base_src_pad_get_range), (gst_base_src_loop),
3815         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3816         (gst_base_src_start), (gst_base_src_deactivate),
3817         (gst_base_src_activate_push), (gst_base_src_change_state):
3818         Move some stuff around and cleanup things.
3819
3820 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3821
3822         * gst/base/gstbasesrc.c: (gst_base_src_query):
3823           Add missing break statements.
3824
3825 2005-10-27  Wim Taymans  <wim@fluendo.com>
3826
3827         * check/gst/gstbin.c: (GST_START_TEST):
3828         An extra refcount is taken in basesrc.
3829
3830         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3831         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3832         (gst_base_src_loop):
3833         Small cleanups, check for flushing after being unlocked from the 
3834         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3835         Don't send out EOS when going to READY.
3836
3837 2005-10-27  Wim Taymans  <wim@fluendo.com>
3838
3839         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3840         (gst_base_sink_get_position):
3841         Some more debug.
3842
3843         * gst/gstbin.c: (message_check), (bin_replace_message),
3844         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3845         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3846         (bin_query_duration_init), (bin_query_duration_fold),
3847         (bin_query_duration_done), (bin_query_generic_fold),
3848         (gst_bin_query):
3849         * tools/gst-launch.c: (main):
3850         Remove old option.
3851
3852 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3853
3854         * examples/controller/audio-example.c: (main):
3855         * examples/queue/queue.c: (event_loop):
3856         * gst/base/gstbasetransform.h:
3857         * gst/gstelement.c: (gst_element_send_event):
3858         * gst/gstevent.h:
3859         * gst/gstpad.c: (gst_pad_send_event):
3860           fixing examples
3861           fixing docs typos
3862           changing log priority in error situations
3863
3864 2005-10-25  Wim Taymans  <wim@fluendo.com>
3865
3866         * gst/gstbin.c: (message_check), (bin_replace_message),
3867         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3868         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3869         (bin_query_duration_init), (bin_query_duration_fold),
3870         (bin_query_duration_done), (bin_query_generic_fold),
3871         (gst_bin_query):
3872         Some doc and debug updates.
3873         Cache previously requested query DURATION for speed. invalidate
3874         cached duration if element posts a DURATION message.
3875
3876 2005-10-25  Wim Taymans  <wim@fluendo.com>
3877
3878         * docs/design/part-TODO.txt:
3879         Update TODO.
3880
3881         * gst/gstbin.c: (message_check), (bin_replace_message),
3882         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3883         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3884         (bin_query_duration_init), (bin_query_duration_fold),
3885         (bin_query_duration_done), (bin_query_generic_fold),
3886         (gst_bin_query):
3887         Handle SEGMENT_START/DONE messages correctly.
3888         More evolved query algorithm that handles duration queries
3889         correctly.
3890
3891         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3892         (gst_element_get_state_func), (gst_element_abort_state),
3893         (gst_element_commit_state), (gst_element_lost_state):
3894         Some more debugging.
3895
3896         * gst/gstmessage.h:
3897         Added doc.
3898
3899 2005-10-25  Wim Taymans  <wim@fluendo.com>
3900
3901         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3902         Don't use invalid stream_time.
3903
3904         * gst/gstevent.c: (gst_event_new_newsegment):
3905         stream_time in newsegment cannot be undefined.
3906
3907 2005-10-24  Wim Taymans  <wim@fluendo.com>
3908
3909         * gst/gstbus.c:
3910         Doc fix.
3911
3912         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3913         (gst_queue_loop):
3914         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3915
3916 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3917
3918         * docs/libs/tmpl/gstdparam.sgml:
3919         * docs/libs/tmpl/gstdplinint.sgml:
3920         * docs/libs/tmpl/gstdpman.sgml:
3921         * docs/libs/tmpl/gstdpsmooth.sgml:
3922         * docs/libs/tmpl/gstunitconvert.sgml:
3923           these are obsolete
3924
3925 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3926
3927         * configure.ac:
3928           back to HEAD
3929
3930 === release 0.9.4 ===
3931
3932 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3933
3934         * configure.ac:
3935           releasing 0.9.4, "Tyrannosaurus Rex"
3936
3937 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3938
3939         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3940         (gst_file_sink_get_current_offset):
3941           Use fseeko() and ftello() if available. When falling back on
3942           lseek() to get the current offset, fflush() first to make sure
3943           everything is up-to-date and we get the right offset.
3944
3945 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3946
3947         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3948         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3949         * gst/gsterror.c: (_gst_stream_errors_init):
3950         * gst/gsterror.h:
3951         * gst/gstqueue.c: (gst_queue_loop):
3952         * po/POTFILES.in:
3953           remove prematurely added error category and clean up the instances
3954
3955 2005-10-21  Wim Taymans  <wim@fluendo.com>
3956
3957         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3958         (gst_base_sink_get_position), (gst_base_sink_query),
3959         (gst_base_sink_change_state):
3960         Simply set the right flag when going to playing, that's all
3961         we need to do instead of calling a function inside the object
3962         lock (that could take the lock as well and deadlock)
3963
3964 2005-10-21  Wim Taymans  <wim@fluendo.com>
3965
3966         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3967         (gst_base_src_loop):
3968         Don't warn, the peer element knows what to do best when
3969         the seek failed, it might try something else.
3970
3971 2005-10-21  Wim Taymans  <wim@fluendo.com>
3972
3973         * gst/base/gstbasesrc.c: (gst_base_src_init),
3974         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3975         Fix seeking.
3976
3977 2005-10-21  Wim Taymans  <wim@fluendo.com>
3978
3979         * docs/design/part-segments.txt:
3980         More docs.
3981
3982         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3983         Correctly set caps, even on the subbufer.
3984
3985 2005-10-21  Wim Taymans  <wim@fluendo.com>
3986
3987         * docs/gst/gstreamer-docs.sgml:
3988         * docs/gst/gstreamer-sections.txt:
3989         * gst/gstelement.h:
3990         * gst/gstevent.c:
3991         * gst/gstevent.h:
3992         * gst/gstmessage.h:
3993         * gst/gstpad.h:
3994         * gst/gstparse.h:
3995         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3996         * gst/gsttask.h:
3997         * gst/gstutils.c:
3998         * gst/gstutils.h:
3999         And 2% more doc coverage.
4000
4001 2005-10-21  Andy Wingo  <wingo@pobox.com>
4002
4003         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4004         position reporting.
4005
4006 2005-10-20  Wim Taymans  <wim@fluendo.com>
4007
4008         * gst/gsterror.c: (gst_error_get_message):
4009         * gst/gstparse.h:
4010         * gst/gstquery.h:
4011         * gst/gststructure.c:
4012         * gst/gsttrace.c:
4013         * gst/gstutils.c:
4014         More docs.
4015
4016 2005-10-20  Wim Taymans  <wim@fluendo.com>
4017
4018         * gst/gstbuffer.h:
4019         * gst/gstpad.c:
4020         * gst/gstparse.c:
4021         Another 1% more coverage.
4022
4023 2005-10-20  Wim Taymans  <wim@fluendo.com>
4024
4025         * docs/gst/gstreamer-sections.txt:
4026         * gst/gstelement.c: (gst_element_get_state_func),
4027         (gst_element_abort_state), (gst_element_commit_state),
4028         (gst_element_lost_state):
4029         * gst/gstevent.h:
4030         * gst/gstquery.c: (gst_query_set_position),
4031         (gst_query_parse_position), (gst_query_set_duration),
4032         (gst_query_parse_duration), (gst_query_new_convert):
4033         * gst/gstutils.c:
4034         Yay! 1% more docs coverage.
4035
4036 2005-10-20  Wim Taymans  <wim@fluendo.com>
4037
4038         * gst/gstpad.h:
4039         * gst/gstquery.c: (gst_query_set_position),
4040         (gst_query_parse_position), (gst_query_set_duration),
4041         (gst_query_parse_duration), (gst_query_new_convert):
4042         * gst/gstquery.h:
4043         * gst/gstutils.c: (gst_element_query_convert):
4044         * gst/gstutils.h:
4045         Docs and consistency fixes.
4046
4047 2005-10-20  Wim Taymans  <wim@fluendo.com>
4048
4049         * gst/gsttask.c:
4050         * gst/gsttask.h:
4051         More docs.
4052
4053 2005-10-20  Wim Taymans  <wim@fluendo.com>
4054
4055         * gst/gstbin.c: (message_check), (bin_replace_message),
4056         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4057         (update_degree), (gst_bin_sort_iterator_next),
4058         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4059         Reworked the message handling a bit, cache the messages instead of
4060         only the senders. alows us to do more in the future.
4061
4062 2005-10-20  Wim Taymans  <wim@fluendo.com>
4063
4064         * docs/design/part-TODO.txt:
4065         Update TODO
4066
4067         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4068         (gst_base_sink_query):
4069         Don't use clock time to report position when in EOS.
4070
4071 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4072
4073         * tools/gst-inspect.c: (print_interfaces),
4074         (print_element_properties_info), (print_element_info):
4075           Fix interface output with gst-inspect -a; don't print
4076           newlines after double/float properties.
4077
4078 2005-10-20  Wim Taymans  <wim@fluendo.com>
4079
4080         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4081         (gst_base_sink_query):
4082         Speed up current position calculation.
4083
4084         * gst/base/gstbasesrc.c: (gst_base_src_query),
4085         (gst_base_src_default_newsegment):
4086         Correctly set stream position in newsegment.
4087
4088         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4089         (update_degree), (gst_bin_sort_iterator_next),
4090         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4091         * gst/gstmessage.c: (gst_message_new_custom):
4092         Clean up debugging info
4093
4094         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4095         (gst_queue_loop), (gst_queue_handle_src_query):
4096         Pause task faster.
4097
4098 2005-10-19  Wim Taymans  <wim@fluendo.com>
4099
4100         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4101         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4102         Fix query handling again.
4103
4104 2005-10-19  Wim Taymans  <wim@fluendo.com>
4105
4106         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4107         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4108         * gst/base/gstbasesrc.c: (gst_base_src_query):
4109         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4110         * gst/elements/gsttypefindelement.c:
4111         (gst_type_find_handle_src_query), (find_element_get_length),
4112         (gst_type_find_element_activate):
4113         API change fix.
4114
4115         * gst/gstquery.c: (gst_query_new_position),
4116         (gst_query_set_position), (gst_query_parse_position),
4117         (gst_query_new_duration), (gst_query_set_duration),
4118         (gst_query_parse_duration), (gst_query_set_segment),
4119         (gst_query_parse_segment):
4120         * gst/gstquery.h:
4121         Bundling query position/duration is not a good idea since duration
4122         does not change much and we don't want to recalculate it for every
4123         position query, so they are separated again..
4124         Base value in segment query is not needed.
4125
4126         * gst/gstqueue.c: (gst_queue_handle_src_query):
4127         * gst/gstutils.c: (gst_element_query_position),
4128         (gst_element_query_duration), (gst_pad_query_position),
4129         (gst_pad_query_duration):
4130         * gst/gstutils.h:
4131         Updates for query API change.
4132         Added some docs here and there.
4133
4134 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * check/gst/gstbin.c: (GST_START_TEST):
4137         * check/gst/gstghostpad.c: (GST_START_TEST):
4138         * check/pipelines/cleanup.c: (GST_START_TEST):
4139           wait on thread to die so we can check refcount correctly
4140
4141 2005-10-18  Wim Taymans  <wim@fluendo.com>
4142
4143         * check/pipelines/stress.c: (GST_START_TEST):
4144         Make check a little more time consuming.
4145
4146 2005-10-18  Wim Taymans  <wim@fluendo.com>
4147
4148         * check/Makefile.am:
4149         * check/pipelines/stress.c: (GST_START_TEST),
4150         (simple_launch_lines_suite), (main):
4151         Small state change torture test.
4152
4153         * docs/design/part-states.txt:
4154         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4155         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4156         (gst_base_sink_change_state):
4157         Never take state lock from streaming thread, clean up ugly
4158         hacks. Unfortunatly core does not yet support nice ways to
4159         async commit state.
4160         
4161         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4162         (bin_bus_handler):
4163         Start state recalc if a STATE_DIRTY message is posted, but only
4164         on the toplevel bin.
4165
4166         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4167         (gst_element_get_state_func), (gst_element_abort_state),
4168         (gst_element_commit_state), (gst_element_lost_state),
4169         (gst_element_set_state_func), (gst_element_change_state):
4170         * gst/gstelement.h:
4171         State variables are now protected with the LOCK, the state
4172         lock is only used to serialize _set_state().
4173
4174 2005-10-18  Wim Taymans  <wim@fluendo.com>
4175
4176         * check/gst/gstbin.c: (GST_START_TEST):
4177         * check/gst/gstmessage.c: (GST_START_TEST):
4178         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4179         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4180         (bin_bus_handler):
4181         * gst/gstelement.c: (gst_element_abort_state),
4182         (gst_element_commit_state), (gst_element_lost_state):
4183         * gst/gstmessage.c: (gst_message_new_state_changed),
4184         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4185         (gst_message_new_segment_done), (gst_message_new_duration),
4186         (gst_message_parse_state_changed),
4187         (gst_message_parse_segment_start),
4188         (gst_message_parse_segment_done), (gst_message_parse_duration):
4189         * gst/gstmessage.h:
4190         * tools/gst-launch.c: (event_loop):
4191         Seriously, this is better than a previous commit as we only need
4192         to notify the fact that an element changed state in a streaming
4193         thread, marking the state of the parents dirty, hence the 
4194         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4195         message.
4196
4197 2005-10-18  Wim Taymans  <wim@fluendo.com>
4198
4199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4200         (gst_bin_recalc_func):
4201         * gst/gstelement.c: (gst_element_set_clock),
4202         (gst_element_abort_state), (gst_element_lost_state):
4203         Cleanups, prepare for state change fixes.
4204
4205 2005-10-18  Wim Taymans  <wim@fluendo.com>
4206
4207         * gst/gstbin.h:
4208         * gst/gstelement.c: (gst_element_class_init),
4209         (gst_element_set_state), (gst_element_set_state_func):
4210         * gst/gstelement.h:
4211         Pending ABI changes.
4212         GThreadPool in GstBinClass to monitor async state changes.
4213         state_cookie in GstElement to detect concurrent gst/set state.
4214         set_state is now virtual too in case a very complicated element
4215         has to be constructed.
4216
4217 2005-10-18  Wim Taymans  <wim@fluendo.com>
4218
4219         * check/gst/gstbin.c: (GST_START_TEST):
4220         * check/gst/gstmessage.c: (GST_START_TEST):
4221         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4222         * gst/gstbin.c: (bin_bus_handler):
4223         * gst/gstelement.c: (gst_element_commit_state),
4224         (gst_element_lost_state):
4225         * gst/gstmessage.c: (gst_message_new_state_changed),
4226         (gst_message_new_segment_start), (gst_message_new_segment_done),
4227         (gst_message_new_duration), (gst_message_parse_state_changed),
4228         (gst_message_parse_segment_start),
4229         (gst_message_parse_segment_done), (gst_message_parse_duration):
4230         * gst/gstmessage.h:
4231         * tools/gst-launch.c: (event_loop):
4232         Make messages future proof.
4233         state-change gets a flag if it was a message comming from the
4234         streaming thread.
4235         segment-start/stop can also be specified in other formats.
4236         A message to notify an app that a pipeline changed playback 
4237         duration.
4238         Also fix a GstMessage leak in -launch
4239
4240 2005-10-18  Andy Wingo  <wingo@pobox.com>
4241
4242         * gst/gstelement.c (gst_element_dispose): More helpful message.
4243
4244 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4245
4246         reviewed by: <delete if not using a buddy>
4247
4248         * common/gtk-doc.mak:
4249
4250 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * gst/gstregistry.c: (gst_registry_scan_path_level):
4253           unref a plug-in we get that was already initialized
4254
4255 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4256
4257         * docs/gst/gstreamer-sections.txt:
4258         * docs/libs/gstreamer-libs-sections.txt:
4259         * gst/gstelement.h:
4260           add new api entries
4261           hide internal macro
4262
4263 2005-10-17  Andy Wingo  <wingo@pobox.com>
4264
4265         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4266         cleanup.
4267
4268         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4269
4270         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4271
4272         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4273         (gst_element_get_state_func): Better debug message.
4274         (gst_element_commit_state): s/INFO/DEBUG/.
4275         (gst_element_lost_state, gst_element_change_state): 
4276
4277         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4278         (gst_message_new_custom): s/INFO/LOG/.
4279
4280 2005-10-17  Michael Smith <msmith@fluendo.com>
4281
4282         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4283           Check if end time is valid using end time, not start time.
4284
4285 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * check/gst-libs/controller.c: (GST_START_TEST),
4288         (gst_controller_suite):
4289         * libs/gst/controller/gstcontroller.c:
4290         (gst_controlled_property_set_interpolation_mode):
4291         * libs/gst/controller/gstcontroller.h:
4292         * libs/gst/controller/gstinterpolation.c:
4293         * testsuite/controller/.cvsignore:
4294         * testsuite/controller/Makefile.am:
4295         * testsuite/controller/interpolator.c:
4296           merge controller testsuites
4297           fix broken tests
4298           remove mem-chunk from docs
4299
4300 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4301
4302         * gst/gstmemchunk.c:
4303         * gst/gstmemchunk.h:
4304         * gst/gsttrashstack.c:
4305         * gst/gsttrashstack.h:
4306           out.  get out.  you're fired.  to the Attic !
4307
4308 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4309
4310         * gst/gstcaps.c: (gst_caps_intersect):
4311           fix signedness issues in a (hopefully) correct way
4312         * gst/gstelement.c: (gst_element_pads_activate):
4313           some debugging
4314         * gst/gstobject.c: (gst_object_set_parent):
4315           some debugging
4316
4317 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4318
4319         * gst/gstvalue.h: Fix prototypes.
4320
4321 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4322
4323         * docs/gst/gstreamer-sections.txt:
4324         * gst/gst.c: (gst_version_string):
4325         * gst/gst.h:
4326         * gst/gstversion.h.in:
4327         * win32/common/libgstreamer.def:
4328           add gst_version_string ()
4329
4330 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4331
4332         * configure.ac:
4333           clean up further
4334         * gst/gst.c: (init_post):
4335         * win32/common/config.h.in:
4336           it's PLUGINDIR now
4337         * gst/gstcaps.c: (gst_caps_intersect):
4338           use gint64, the range could be bigger than a guint
4339
4340 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4341
4342         * gst/gstclock.h:
4343           document potential problem in 2038
4344
4345 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * gst/gstcaps.c: (gst_caps_intersect):
4348           Fix guint j diving under 0
4349
4350 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4351
4352         * configure.ac:
4353         * win32/common/config.h:
4354         * win32/common/config.h.in:
4355           check for process.h, declares getpid() on Windows
4356         * gst/gstinfo.c:
4357           include process.h if we have it
4358         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4359         * gst/gstmemchunk.h:
4360           fix signedness issues
4361         * win32/common/libgstreamer.def:
4362           fix get_type's
4363
4364 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4365
4366         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4367         fix. Because of unsigned ints, caps intersection was going nuts and
4368         trying to access structures with G_MAXUINT index. That fixes
4369         videotestsrc ! ffmpegcolorspace ! fakesink
4370         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4371         consistency.
4372
4373 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4374
4375         * configure.ac:
4376           use the gettext macro
4377         * gst/elements/gstelements.c:
4378         * gst/gst.c:
4379         * gst/indexers/gstindexers.c:
4380           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4381         * win32/common/config.h:
4382           updated config.h
4383         * win32/common/config.h.in:
4384           add the template to generate config.h
4385         * win32/common/gstenumtypes.c:
4386         * win32/common/gstversion.h:
4387           updated copies
4388
4389 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4390
4391         * gst/gst.c: (gst_version):
4392         * gst/gstversion.h.in:
4393           add the nano
4394
4395 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4396
4397         * gst/gstevent.h:
4398           Oops, add missing closing bracket.
4399
4400 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4401
4402         * configure.ac:
4403           use common m4's for argument checking
4404
4405 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4406
4407         * docs/gst/gstreamer-sections.txt:
4408         * gst/gstevent.h:
4409           Add GST_EVENT_TYPE_NAME() macro.
4410
4411 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4412
4413         * gst/gstinfo.c:
4414         * gst/gstpluginfeature.c:
4415         * gst/gsttask.c:
4416           privatize more symbols
4417
4418 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4419
4420         * configure.ac:
4421           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4422           everything that uses GStreamer API should have the includes
4423
4424 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4425
4426         * docs/gst/gstreamer-sections.txt:
4427         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4428         * gst/gstvalue.h:
4429           give each value a _get_type, removes the DATA exports
4430
4431 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4432
4433         * gst/gst.c:
4434         * gst/gst.h:
4435           remove _gst_registry_auto_load, not used anymore
4436         * gst/gstbin.c: (gst_bin_get_type):
4437         * gst/gstbin.h:
4438         * gst/gstelement.c: (gst_element_get_type):
4439         * gst/gstelement.h:
4440         * gst/gstobject.c: (gst_object_get_type):
4441         * gst/gstobject.h:
4442         * gst/gstpad.c: (gst_pad_get_type):
4443         * gst/gstpad.h:
4444           make _get_type functions similar, fixes data export from library
4445
4446 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4447
4448         * configure.ac:
4449           correctly make conditionals
4450         * gst/elements/Makefile.am:
4451         * gst/elements/gstelements.c:
4452           fix typo causing fdsrc not to build
4453
4454 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4455
4456         * testsuite/Makefile.am:
4457         * testsuite/bytestream/.cvsignore:
4458         * testsuite/bytestream/Makefile.am:
4459         * testsuite/bytestream/filepadsink.c:
4460         * testsuite/bytestream/gstbstest.c:
4461         * testsuite/bytestream/test1.c:
4462         * testsuite/bytestream/testfile1:
4463         * testsuite/caps/normalisation.c:
4464         * testsuite/caps/random.c: (main):
4465         * testsuite/cleanup/.cvsignore:
4466         * testsuite/cleanup/Makefile.am:
4467         * testsuite/cleanup/cleanup1.c:
4468         * testsuite/cleanup/cleanup2.c:
4469         * testsuite/cleanup/cleanup3.c:
4470         * testsuite/cleanup/cleanup4.c:
4471         * testsuite/cleanup/cleanup5.c:
4472         * testsuite/controller/interpolator.c:
4473         * testsuite/debug/printf_extension.c: (main):
4474         * testsuite/elements/tee.c:
4475         * testsuite/negotiation/.cvsignore:
4476         * testsuite/negotiation/Makefile.am:
4477         * testsuite/negotiation/pad_link.c:
4478         * testsuite/pad/Makefile.am:
4479         * testsuite/pad/chainnopull.c:
4480         * testsuite/pad/getnopush.c:
4481         * testsuite/pad/link.c:
4482         * testsuite/refcounting/sched.c: (create_pipeline):
4483         * testsuite/registry/Makefile.am:
4484         * testsuite/registry/gst-print-formats.c:
4485         * testsuite/schedulers/.cvsignore:
4486         * testsuite/schedulers/142183-2.c:
4487         * testsuite/schedulers/142183.c:
4488         * testsuite/schedulers/143777-2.c:
4489         * testsuite/schedulers/143777.c:
4490         * testsuite/schedulers/147713.c:
4491         * testsuite/schedulers/147819.c:
4492         * testsuite/schedulers/147894-2.c:
4493         * testsuite/schedulers/147894.c:
4494         * testsuite/schedulers/Makefile.am:
4495         * testsuite/schedulers/group_link.c:
4496         * testsuite/schedulers/queue_link.c:
4497         * testsuite/schedulers/relink.c:
4498         * testsuite/schedulers/unlink.c:
4499         * testsuite/schedulers/unref.c:
4500         * testsuite/schedulers/useless_iteration.c:
4501         * testsuite/states/bin.c:
4502           clean out/remove some stuff from the testsuite directories
4503
4504 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4505
4506         * configure.ac:
4507           check for some headers
4508         * gst/elements/Makefile.am:
4509         * gst/elements/gstelements.c:
4510           don't compile fdsrc without sys/socket.h
4511         * gst/indexers/Makefile.am:
4512         * gst/indexers/gstindexers.c: (plugin_init):
4513           don't compile fileindex without mmap
4514
4515 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4516
4517         * configure.ac:
4518           reorganize
4519           clean up
4520           document more
4521           remove cruft
4522         * check/Makefile.am:
4523         * docs/gst/Makefile.am:
4524         * examples/helloworld/Makefile.am:
4525         * gst/Makefile.am:
4526         * gst/base/Makefile.am:
4527         * gst/check/Makefile.am:
4528         * gst/elements/Makefile.am:
4529         * gst/indexers/Makefile.am:
4530         * gst/parse/Makefile.am:
4531         * libs/gst/controller/Makefile.am:
4532         * libs/gst/dataprotocol/Makefile.am:
4533         * examples/helloworld/helloworld.c: (event_loop):
4534           compile fixes, though it's not being compiled currently
4535
4536 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4537
4538         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4539           Add some simple tests for the new taglist date API.
4540
4541 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4542
4543         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4544         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4545           Beautify 'last-message' output: print 'none' for buffer timestamps
4546           and durations if none is set; improve alignment with next messages.
4547
4548 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4549
4550         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4551         * gst/gstpluginfeature.h:
4552         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4553         * gst/gstregistry.h:
4554         * docs/gst/gstreamer-sections.txt:
4555           Add new API to check plugin feature version requirements.
4556
4557         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4558           Some basic tests for the above.         
4559
4560 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4561
4562         * gst/gststructure.c: (gst_structure_to_string):
4563           guard against NULL printf - happens when for example
4564           a message structure with GstClock gets serialized
4565
4566 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4567
4568         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4569           Fix presumable copy'n'pasto.
4570
4571 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4572
4573         * gst/elements/gstfakesrc.h:
4574         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4575         * gst/elements/gsttypefindelement.c:
4576           fix some signedness
4577         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4578           I wonder if this could actually write +2GB files before
4579
4580 2005-10-13  Andy Wingo  <wingo@pobox.com>
4581
4582         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4583         Fix Timmeke Waymans bug.
4584         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4585         string of the proper length to gst_caps_from_string. There's a
4586         potential for, before this fix, that this could cause someone
4587         connecting over the network to cause a segfault if the payload is
4588         not NUL-terminated.
4589
4590 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4591
4592         * docs/design/draft-push-pull.txt:
4593         * docs/design/part-overview.txt:
4594         * docs/random/TODO-pre-0.9:
4595         * docs/random/old/ChangeLog.gstreamer:
4596         * gst/base/gstpushsrc.c:
4597         * gst/gstclock.c:
4598           fixed typos
4599
4600 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4601
4602         * gst/glib-compat.c: (gst_flags_get_first_value):
4603         * gst/glib-compat.h:
4604         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4605         (gst_value_compare_double), (gst_value_serialize_flags):
4606           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4607           infinite loop
4608
4609 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4610
4611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4612         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4613           fix up debugging
4614         * tools/gst-launch.c: (event_loop):
4615           print out clock nicely
4616
4617 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4618
4619         * docs/gst/gstreamer-sections.txt:
4620         * gst/gsttaglist.h:
4621         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4622         (gst_tag_list_get_date_index):
4623           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4624           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4625
4626 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4627
4628         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4629         (gst_collectpads_chain):
4630         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4631         in CollectData.
4632
4633 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4634
4635         * docs/gst/gstreamer-sections.txt:
4636         * gst/gst.c:
4637         * gst/gsterror.h:
4638         * tools/gst-inspect.c: (main):
4639         * tools/gst-launch.c: (main):
4640         * tools/gst-run.c: (main):
4641         * tools/gst-xmlinspect.c: (main):
4642           fix GOption context leaks
4643           doc fixes
4644
4645 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4646
4647         * gst/gstbus.c:
4648           use HAVE_UNISTD_H
4649         * win32/common/config.h:
4650           update config
4651         * win32/vs6/grammar.dsp:
4652         * win32/vs6/libgstelements.dsp:
4653         * win32/vs6/libgstreamer.dsp:
4654           update vs6 files
4655
4656 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4657
4658         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4659         * gst/base/gstbasesrc.c: (gst_base_src_query):
4660           fix more guint64<->gdouble conversions
4661
4662 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4663
4664         * Makefile.am:
4665           add win32-update target
4666         * win32/common/gstconfig.h:
4667         * win32/common/gstenumtypes.c:
4668         * win32/common/gstenumtypes.h:
4669         * win32/common/gstversion.h:
4670           add files that visual studio can't generate
4671
4672 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4673
4674         * Makefile.am:
4675           add a win32-update target
4676         * configure.ac:
4677
4678 2005-10-12  Wim Taymans  <wim@fluendo.com>
4679
4680         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4681         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4682         * gst/gstelement.c: (gst_element_commit_state),
4683         (gst_element_set_state):
4684         Protect flags with proper lock.
4685         unref provided cached clock in dispose.
4686
4687 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4688
4689         * gst/gst.c:
4690         * gst/gstminiobject.h:
4691         * gst/gstpad.h:
4692         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4693           removed unused flags from miniobject
4694           doc fixes
4695
4696 2005-10-12  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4699         (gst_file_sink_event), (gst_file_sink_render):
4700         Flush before seeking.
4701
4702 2005-10-12  Andy Wingo  <wingo@pobox.com>
4703
4704         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4705         always been the case.
4706
4707 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4708
4709         * check/gst/gstbin.c: (GST_START_TEST):
4710         * docs/gst/gstreamer-sections.txt:
4711         * gst/base/gstbasesink.c: (gst_base_sink_init):
4712         * gst/base/gstbasesrc.c: (gst_base_src_init),
4713         (gst_base_src_get_range), (gst_base_src_check_get_range),
4714         (gst_base_src_start), (gst_base_src_stop):
4715         * gst/base/gstbasesrc.h:
4716         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4717         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4718         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4719         (bin_bus_handler):
4720         * gst/gstbin.h:
4721         * gst/gstbuffer.h:
4722         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4723         * gst/gstbus.h:
4724         * gst/gstelement.c: (gst_element_is_locked_state),
4725         (gst_element_set_locked_state), (gst_element_commit_state),
4726         (gst_element_set_state):
4727         * gst/gstelement.h:
4728         * gst/gstindex.c: (gst_index_init):
4729         * gst/gstindex.h:
4730         * gst/gstminiobject.h:
4731         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4732         (gst_object_set_parent):
4733         * gst/gstobject.h:
4734         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4735         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4736         * gst/gstpad.h:
4737         * gst/gstpadtemplate.h:
4738         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4739         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4740         * gst/gstpipeline.h:
4741         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4742         (gst_file_index_commit):
4743         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4744         * testsuite/pad/link.c: (gst_test_src_init),
4745         (gst_test_filter_init), (gst_test_sink_init):
4746         * testsuite/states/locked.c: (main):
4747           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4748           moved bitshift from macro to enum definition
4749
4750 2005-10-12  Wim Taymans  <wim@fluendo.com>
4751
4752         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4753         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4754         (gst_file_sink_render):
4755         Some more debugging info.
4756
4757 2005-10-12  Wim Taymans  <wim@fluendo.com>
4758
4759         * docs/design/part-states.txt:
4760         * tools/gst-launch.c: (main):
4761         Some doc updates.
4762         Revert non-intentional change.
4763
4764 2005-10-12  Wim Taymans  <wim@fluendo.com>
4765
4766         * check/gst/gstbin.c: (GST_START_TEST):
4767         * check/gst/gstelement.c: (GST_START_TEST):
4768         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4769         * check/gst/gstghostpad.c: (GST_START_TEST):
4770         * check/gst/gstpipeline.c: (GST_START_TEST):
4771         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4772         * check/states/sinks.c: (GST_START_TEST):
4773         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4774         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4775         (gst_bin_remove_func), (gst_bin_get_state_func),
4776         (gst_bin_recalc_state), (gst_bin_change_state_func),
4777         (bin_bus_handler):
4778         * gst/gstelement.c: (gst_element_get_state_func),
4779         (gst_element_get_state), (gst_element_abort_state),
4780         (gst_element_commit_state), (gst_element_set_state),
4781         (gst_element_change_state), (gst_element_change_state_func):
4782         * gst/gstelement.h:
4783         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4784         (gst_pipeline_provide_clock_func):
4785         * gst/gstutils.c: (gst_element_link_pads_filtered):
4786         * tools/gst-launch.c: (main):
4787         * tools/gst-typefind.c: (main):
4788         Use GstClockTime in _get_state() instead of GTimeVal.
4789         Remove old code in gstutils.c
4790
4791 2005-10-12  Andy Wingo  <wingo@pobox.com>
4792
4793         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4794         removed.
4795
4796         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4797         there is no task. Shouldn't affect any code, as nothing in our
4798         plugins checks this return value.
4799         (gst_pad_stop_task): Also take the stream lock if the pad has no
4800         task. Docs updated.
4801
4802 2005-10-12  Wim Taymans  <wim@fluendo.com>
4803
4804         * gst/gstpad.c: (pre_activate), (post_activate),
4805         (gst_pad_activate_pull), (gst_pad_activate_push):
4806         Cleanup activation code. Reset old state if
4807         activation failed.
4808
4809 2005-10-12  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4812         (gst_base_sink_change_state):
4813         No need to prerol after receiving EOS.
4814
4815         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4816         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4817         * gst/elements/gstidentity.c: (gst_identity_event):
4818         Print events more verbosely.
4819
4820 2005-10-12  Wim Taymans  <wim@fluendo.com>
4821
4822         * check/Makefile.am:
4823         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4824         * check/states/sinks2.c:
4825         Moved sinks2 testcode in sinks check.
4826
4827         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4828         (gst_bin_remove_func), (gst_bin_recalc_state),
4829         (gst_bin_change_state_func), (bin_bus_handler):
4830         Fix potential race condition when _get_state() iterated over an
4831         ASYNC element right before it posted a state completion.
4832
4833         * gst/gstclock.h:
4834         Do proper cast here.
4835
4836         * gst/gstevent.c: (gst_event_new_newsegment),
4837         (gst_event_parse_newsegment):
4838         A playback rate of 0.0 is not allowed.
4839
4840 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4841
4842         * win32/common/config.h:
4843         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4844         (_trewinddir), (_ttelldir), (_tseekdir):
4845         * win32/common/dirent.h:
4846         * win32/common/gtchar.h:
4847         * win32/common/libgstbase.def:
4848         * win32/common/libgstreamer.def:
4849         * win32/vs6/grammar.dsp:
4850         * win32/vs6/gst_inspect.dsp:
4851         * win32/vs6/gst_launch.dsp:
4852         * win32/vs6/gstreamer.dsw:
4853         * win32/vs6/libgstbase.dsp:
4854         * win32/vs6/libgstelements.dsp:
4855         * win32/vs6/libgstreamer.dsp:
4856           Visual Studio 6 project files, and a new common directory.
4857           Phear.
4858
4859 2005-10-11  Wim Taymans  <wim@fluendo.com>
4860
4861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4862         (gst_base_sink_do_sync), (gst_base_sink_query),
4863         (gst_base_sink_change_state):
4864         * gst/base/gstbasesink.h:
4865         Correctly parse newsegment info.
4866
4867 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4868
4869         * gst/gst.c: (init_post):
4870           split plugin paths correctly
4871
4872 2005-10-11  Wim Taymans  <wim@fluendo.com>
4873
4874         * check/gst/gstevent.c: (GST_START_TEST):
4875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4876         (gst_base_sink_change_state):
4877         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4878         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4879         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4880         * gst/gstevent.c: (gst_event_new_newsegment),
4881         (gst_event_parse_newsegment):
4882         * gst/gstevent.h:
4883         Added extra flag to newsegment for future API freeze.
4884         Updated check and base elements.
4885
4886 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4887
4888         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4889         (gst_collectpads_add_pad), (gst_collectpads_pop),
4890         (gst_collectpads_event), (gst_collectpads_chain):
4891         * gst/base/gstcollectpads.h: Handle EOS correctly.
4892
4893 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * tools/gst-launch.c: (main):
4896           more null protecting
4897
4898 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/gst-i18n-lib.h:
4901           check for ENABLE_NLS, not GETTEXT_PACKAGE
4902         * gst/gstregistry.c: (gst_registry_add_plugin),
4903         (gst_registry_scan_path_level),
4904         (_gst_registry_remove_cache_plugins):
4905           protect possibly NULL strings
4906         * gst/parse/types.h:
4907           config.h already included before
4908         * tools/gst-inspect.c: (main):
4909           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4910           check for ENABLE_NLS, not GETTEXT_PACKAGE
4911         * tools/gst-launch.c: (main):
4912           check for ENABLE_NLS, not GETTEXT_PACKAGE
4913
4914 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4915
4916         * configure.ac:
4917           if we don't have glib, fail before testing 2.8
4918         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4919           fix a leak, should fix plugins-base testsuite
4920
4921 2005-10-11  Andy Wingo  <wingo@pobox.com>
4922
4923         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4924         take the mode we're going to as an arg. Go head and set the mode
4925         and flushing flags now, so that if the activate function starts a
4926         thread all the flags will be in the right state.
4927         (post_activate): Renamed also. Just handle making sure streaming
4928         finishes for the deactivation case, and setting the deactivated
4929         mode.
4930         (gst_pad_set_active): Complain loudly if deactivation fails.
4931         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4932         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4933         remove the terrible hack.
4934
4935 2005-10-11  Wim Taymans  <wim@fluendo.com>
4936
4937         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4938         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4939         (gst_bin_recalc_state), (gst_bin_change_state_func),
4940         (gst_bin_dispose), (bin_bus_handler):
4941         * gst/gstbin.h:
4942         Prepare to make current EOS message queue more generic.
4943         Fix some typos.
4944
4945         * gst/gstevent.c: (gst_event_new_newsegment),
4946         (gst_event_parse_newsegment):
4947         * gst/gstevent.h:
4948         Rename base to stream_time.
4949
4950         * gst/gstmessage.h:
4951         Fix typo in docs.
4952
4953 2005-10-11  Wim Taymans  <wim@fluendo.com>
4954
4955         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4956         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4957         (gst_bin_change_state_func), (bin_bus_handler):
4958         * gst/gstbin.h:
4959         Work on proper clock selection.
4960
4961 2005-10-11  Edward Hervey  <edward@fluendo.com>
4962
4963         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4964         * libs/gst/controller/gstcontroller.h:
4965         Added GList* version of _remove_properties() in order to be able to wrap
4966         it in bindings.
4967
4968 2005-10-11  Wim Taymans  <wim@fluendo.com>
4969
4970         * docs/design/part-states.txt:
4971         Some more docs.
4972
4973         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4974         (gst_bin_change_state_func), (bin_bus_handler):
4975         Doc updates. Don't distribute the same clock over and over again.
4976
4977         * gst/gstclock.c:
4978         * gst/gstclock.h:
4979         Doc updates.
4980
4981         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4982         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4983         (gst_pad_send_event):
4984         * gst/gstpad.h:
4985         Make probe emission threadsafe again.
4986         Register quarks and move _get_name() from utils.
4987         Doc updates.
4988
4989         * gst/gstpipeline.c: (gst_pipeline_class_init),
4990         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4991         Only redistribute the clock of it changed.
4992
4993         * gst/gstsystemclock.h:
4994         Doc updates. 
4995
4996         * gst/gstutils.c:
4997         * gst/gstutils.h:
4998         Moved the _flow_get_name() to GstPad.
4999
5000 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5001
5002         * check/gst-libs/gdp.c: (GST_START_TEST):
5003         * check/gst/gstcaps.c: (GST_START_TEST):
5004         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5005         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5006         (gst_dp_packet_from_caps):
5007           fix more valgrind warnings before turning up the heat
5008
5009 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * gst/parse/grammar.y:
5012           some cleanup before the hacking
5013
5014 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5015
5016         * gst/base/gstbasesrc.c: (gst_base_src_query):
5017           use conversions
5018         * gst/gstutils.c: (gst_guint64_to_gdouble),
5019         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5020         * gst/gstutils.h:
5021           externalize, basesrc uses it
5022           obviously the implementation needs testing
5023
5024 2005-10-10  Wim Taymans  <wim@fluendo.com>
5025
5026         * tests/sched/Makefile.am:
5027         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5028         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5029
5030 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5031
5032         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5033           apparently converting from guint64 to double is not implemented
5034           on MSVC
5035
5036 2005-10-10  Wim Taymans  <wim@fluendo.com>
5037
5038         * check/Makefile.am:
5039         * check/generic/states.c: (GST_START_TEST):
5040         * check/gst/gstbin.c: (GST_START_TEST):
5041         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5042         * check/states/sinks.c: (GST_START_TEST):
5043         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5044         (main):
5045         Check fixes, use API as stated in design docs, remove hacks.
5046
5047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5048         (gst_base_sink_change_state):
5049         Catch stopping our task while we're shutting down.
5050
5051         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5052         (gst_bin_remove_func), (gst_bin_get_state_func),
5053         (gst_bin_recalc_state), (gst_bin_change_state_func),
5054         (bin_bus_handler):
5055         * gst/gstbin.h:
5056         * gst/gstelement.c: (gst_element_init),
5057         (gst_element_get_state_func), (gst_element_abort_state),
5058         (gst_element_commit_state), (gst_element_lost_state),
5059         (gst_element_set_state), (gst_element_change_state),
5060         (gst_element_change_state_func):
5061         * gst/gstelement.h:
5062         New state change algorithm (see #318116)
5063
5064         * gst/gstpipeline.c: (gst_pipeline_class_init),
5065         (gst_pipeline_init), (gst_pipeline_set_property),
5066         (gst_pipeline_get_property), (do_pipeline_seek),
5067         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5068         * gst/gstpipeline.h:
5069         Remove crude state change hacks.
5070
5071         * gst/gstutils.h:
5072         Remove crude hacks.
5073
5074         * tools/gst-launch.c: (main):
5075         Fixes for state change. Needs some more work to fully use the
5076         new stuff.
5077
5078 2005-10-10  Andy Wingo  <wingo@pobox.com>
5079
5080         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5081
5082         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5083         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5084         issue.
5085
5086 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * gst/gstiterator.c: (gst_iterator_new):
5089           Fix my previous commit: GTypes passed to gst_iterator_new()
5090           can be fundamental types.
5091
5092 2005-10-10  Wim Taymans  <wim@fluendo.com>
5093
5094         * gst/gstelement.c: (gst_element_iterate_pad_list),
5095         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5096         (gst_element_iterate_sink_pads):
5097         Use src/sink pads lists for the respective iterators instead
5098         of filtering.
5099
5100 2005-10-10  Andy Wingo  <wingo@pobox.com>
5101
5102         Merged in popt removal + GOption addition patch from Ronald, bug
5103         #169772.
5104
5105         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5106         GstElement macros around, remove popt-related symbols, add goption
5107         stuff.
5108
5109         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5110         
5111         * docs/gst/Makefile.am:
5112         * docs/libs/Makefile.am: No POPT_CFLAGS.
5113         
5114         * examples/manual/Makefile.am:
5115         * docs/manual/basics-init.xml: Doc updates with an example.
5116         
5117         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5118         (gst_init), (parse_one_option), (parse_goption_arg):
5119         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5120         bit of hand merging and debugging to get the GOption stuff working
5121         tho.
5122         
5123         * tests/Makefile.am:
5124         * tools/Makefile.am:
5125         * tools/gst-inspect.c: (main):
5126         * tools/gst-launch.c: (main):
5127         * tools/gst-run.c: (main):
5128         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5129
5130 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5131
5132         * gst/gstiterator.c: (gst_iterator_new):
5133           Add assertions to make sure passed GType is likely to really
5134           be a GType (as the compiler won't catch it if the size and
5135           GType arguments get mixed up, see #318447).
5136
5137 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5138
5139         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * gst/gstbin.c: (gst_bin_iterate_sorted):
5142           Pass GType and size arguments to gst_iterator_new() in the right
5143           order (maybe we should make _new() take the GType as first argument
5144           just like _new_list()?) (#318447).
5145           
5146
5147 2005-10-10  Wim Taymans  <wim@fluendo.com>
5148
5149         * gst/gstelement.c: (gst_element_finalize):
5150         And free the GStaticRecMutex too
5151
5152 2005-10-10  Andy Wingo  <wingo@pobox.com>
5153
5154         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5155         Allocate and free the mutex properly.
5156
5157         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5158         New macros.
5159         (GstElement): The state_lock is now recursive. Rebuild your
5160         plugins, suckers. Old macros adapted.
5161
5162         * docs/gst/gstreamer-sections.txt: Doc updates.
5163
5164         * gst/gstutils.h:
5165         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5166         (g_static_rec_cond_wait): Ported from state changes patch, while
5167         we wait on bug #317802 to be solved in a well-distributed GLib.
5168
5169         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5170         gst_element_change_state, variable name changes.
5171         (gst_element_change_state): Split out of gst_element_set_state in
5172         preparation for the state change merge. Doesn't pay attention to
5173         the 'transition' argument.
5174         (gst_element_set_state): Updates, hopefully purely cosmetic.
5175         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5176         state change patch.
5177         (gst_element_get_state_func): Renamed from get_state, cosmetic
5178         changes.
5179
5180 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5181
5182         * gst/elements/gstelements.c:
5183         * win32/GStreamer.vcproj:
5184         * win32/config.h:
5185         * win32/dirent.c: (_tseekdir):
5186         * win32/gst-inspect.vcproj:
5187         * win32/gst-launch.vcproj:
5188         * win32/gstconfig.h:
5189         * win32/gstelements.vcproj:
5190         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5191         * win32/gstreamer.def:
5192         * win32/msvc71.sln:
5193           updates for the win32 build (patch from Sebastien Moutte)
5194
5195 2005-10-10  Andy Wingo  <wingo@pobox.com>
5196
5197         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5198         gst_bin_get_state, cleaned up (but no logic changes).
5199         (bin_element_is_sink): Comment updates.
5200         (sink_iterator_filter): Remove needless cast.
5201         (gst_bin_iterate_sinks): Doc update.
5202         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5203         cleaned up (but no logic changes).
5204
5205         * check/states/sinks.c (test_src_sink): Cleanups from the state
5206         change patch.
5207         (test_livesrc_sink): Sync on the state.
5208
5209         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5210         the state change patch.
5211
5212         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5213         change patch.
5214
5215         * check/gst/gstbin.c: Merge in some style fixes and additional
5216         checks from Wim's state change patch.
5217
5218 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5221         (gst_type_find_helper):
5222           Check whether we have the requested data already in our list of
5223           cached buffers before pulling a new buffer; also make the buffer
5224           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5225
5226 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5227
5228         * gst/gstcaps.c:
5229         * gst/gstevent.c:
5230           doc updates
5231         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5232           don't use long long, it's not portable.  Replacing with
5233           gint64 seems to work; let's hope no skeletons fall out of the closet.
5234
5235 2005-10-10  Andy Wingo  <wingo@pobox.com>
5236
5237         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5238
5239 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5240
5241         * docs/gst/gstreamer-sections.txt:
5242         * gst/gstevent.c:
5243         * gst/gstevent.h:
5244         * gst/gstinfo.c:
5245         * gst/gstinfo.h:
5246         * gst/gstmessage.c: (gst_message_parse_state_changed):
5247         * gst/gstpad.c:
5248         * gst/gstpad.h:
5249           more docs, fix compilation
5250
5251 2005-10-09  Philippe Khalaf <burger@speedy.org>
5252         * gst/gstmessage.c:
5253           Fixed a few forgotten variables on previous commit
5254
5255 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5256
5257         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5258           Fix evil typefind crasher: getrange() might return a short
5259           buffer at the end of a file, but gst_type_find_peek() must
5260           either return the full data as requested or NULL, but
5261           never a short buffer.
5262
5263 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5264
5265         * gst/gstmessage.c: (gst_message_new_state_changed),
5266         (gst_message_parse_state_changed):
5267         * gst/gstmessage.h:
5268           don't use "new", it's a C++ keyword
5269
5270 2005-10-08  Wim Taymans  <wim@fluendo.com>
5271
5272         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5273         * gst/gstelement.c: (gst_element_post_message):
5274         * gst/gstpipeline.c: (gst_pipeline_change_state):
5275         Small docs and debug updates.
5276
5277 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5278
5279         * docs/gst/gstreamer-sections.txt:
5280         * gst/gstelementfactory.c:
5281         * gst/gstevent.c:
5282         * gst/gsttaglist.c:
5283           more docs
5284
5285 2005-10-08  Wim Taymans  <wim@fluendo.com>
5286
5287         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5288         (gst_bin_dispose), (bin_bus_handler):
5289         Fix typos, add comments.
5290         Clear EOS list when going to PAUSED from any direction and do it
5291         in a threadsafe way.
5292         Get base time in a threadsafe way too.
5293         Fix confusing debug in the change_state function.
5294         Various other small cleanups.
5295         
5296         * gst/gstelement.c: (gst_element_post_message):
5297         Fix very verbose bus posting code.
5298
5299         * gst/gstpipeline.c: (gst_pipeline_class_init),
5300         (gst_pipeline_set_property), (gst_pipeline_get_property),
5301         (gst_pipeline_change_state):
5302         Small ARG_ -> PROP_ cleanup
5303
5304 2005-10-08  Wim Taymans  <wim@fluendo.com>
5305
5306         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5307         Do a less CPU demanding EOS check because we can.
5308
5309 2005-10-08  Wim Taymans  <wim@fluendo.com>
5310
5311         * libs/gst/dataprotocol/dataprotocol.c:
5312         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5313         (gst_dp_packet_from_event):
5314         * libs/gst/dataprotocol/dataprotocol.h:
5315         * libs/gst/dataprotocol/dp-private.h:
5316         It's about time we bump the version number.
5317         Since event types don't fit in the guint8 anymore describing
5318         the payload type, make payload type 16 bits wide.
5319
5320 2005-10-08  Wim Taymans  <wim@fluendo.com>
5321
5322         * docs/design/part-TODO.txt:
5323         * docs/design/part-clocks.txt:
5324         * docs/design/part-events.txt:
5325         * docs/design/part-gstbin.txt:
5326         * docs/design/part-gstelement.txt:
5327         * docs/design/part-gstpipeline.txt:
5328         * docs/design/part-live-source.txt:
5329         * docs/design/part-messages.txt:
5330         * docs/design/part-overview.txt:
5331         * docs/design/part-states.txt:
5332         Many doc updates.
5333
5334 2005-10-08  Wim Taymans  <wim@fluendo.com>
5335
5336         * gst/gstevent.c:
5337         * gst/gstevent.h:
5338         Fix event quark registration.
5339         Add some space between events so we can insert them in the
5340         right groups.
5341
5342 2005-10-08  Wim Taymans  <wim@fluendo.com>
5343
5344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5345         (gst_base_sink_handle_buffer):
5346         Better log message.
5347
5348         * gst/gstbus.h:
5349         * gst/gstelement.h:
5350         More docs.
5351
5352         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5353         (gst_queue_set_property), (gst_queue_get_property):
5354         * gst/gstqueue.h:
5355         Remove old unused properties.
5356
5357 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5358         * docs/gst/gstreamer-sections.txt:
5359         * gst/gstmessage.c:
5360         * gst/gstmessage.h:
5361         * gst/gstminiobject.c:
5362         * gst/gstminiobject.h:
5363         * gst/gstobject.h:
5364         * gst/gstpad.h:
5365         * gst/gstutils.h:
5366           lots of new docs and doc fixes
5367
5368 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5369
5370         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5371         * gst/gstplugin.h:
5372         * gst/gstregistry.c: (gst_registry_lookup_locked),
5373         (gst_registry_scan_path_level):
5374         * gst/gstregistryxml.c: (load_plugin):
5375           Only ever load one plugin for a given plugin basename.
5376           This ensures correct overriding of GST_PLUGIN_PATH over
5377           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5378           system installed plugins.
5379
5380 2005-10-08  Wim Taymans  <wim@fluendo.com>
5381
5382         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5383         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5384         Prepare for doing QOS.
5385
5386 2005-10-08  Wim Taymans  <wim@fluendo.com>
5387
5388         * check/gst/gstbin.c: (GST_START_TEST):
5389         * check/pipelines/cleanup.c: (GST_START_TEST):
5390         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5391         Allow new clock message too.
5392
5393 2005-10-08  Wim Taymans  <wim@fluendo.com>
5394
5395         * gst/gstmessage.c: (gst_message_new_error),
5396         (gst_message_new_warning), (gst_message_new_tag),
5397         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5398         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5399         (gst_message_new_segment_start), (gst_message_new_segment_done),
5400         (gst_message_parse_state_changed),
5401         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5402         (gst_message_parse_new_clock):
5403         * gst/gstmessage.h:
5404         Also carry the clock in question.
5405
5406 2005-10-08  Wim Taymans  <wim@fluendo.com>
5407
5408         * gst/gstmessage.c: (gst_message_new_custom),
5409         (gst_message_new_eos), (gst_message_new_error),
5410         (gst_message_new_warning), (gst_message_new_tag),
5411         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5412         (gst_message_new_new_clock), (gst_message_new_segment_start),
5413         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5414         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5415         * gst/gstmessage.h:
5416         Clean up.
5417         Added clock related messages.
5418
5419         * gst/gstpipeline.c: (gst_pipeline_change_state):
5420         Post message when the clock changed.
5421
5422         * tools/gst-launch.c: (event_loop):
5423         Print new clock.
5424
5425 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5426
5427         * tools/gst-inspect.c: (print_element_properties_info):
5428           Can't pass NULL strings to g_print() on windows.
5429
5430 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5431
5432         * docs/Makefile.am:
5433         * docs/gst/Makefile.am:
5434         * docs/gst/gstreamer-docs.sgml:
5435         * docs/gst/running.xml:
5436         * docs/version.entities.in:
5437           add a chapter on running GStreamer.
5438           document GST_DEBUG and GST_PLUGIN* env vars
5439
5440 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5441
5442         * Makefile.am:
5443           remove include dir
5444         * configure.ac:
5445           remove PLUGINS_BUILDDIR stuff
5446         * gst/gst.c: (init_post):
5447           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5448         * idiottest.mak:
5449           remove, it was condescending and not needed
5450
5451 2005-10-08  Wim Taymans  <wim@fluendo.com>
5452
5453         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5454         (gst_base_sink_handle_object), (gst_base_sink_event),
5455         (gst_base_sink_wait), (gst_base_sink_handle_event),
5456         (gst_base_sink_change_state):
5457         * gst/base/gstbasesink.h:
5458         Repost EOS message while going to PLAYING if still EOS.
5459         Make sure that when receiving a FLUSH_START we don't attempt
5460         to sync on the clock anymore.
5461
5462 2005-10-08  Wim Taymans  <wim@fluendo.com>
5463
5464         * tools/gst-launch.c: (event_loop):
5465         Better message printout.
5466
5467 2005-10-08  Wim Taymans  <wim@fluendo.com>
5468
5469         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5470         (gst_bin_child_proxy_get_children_count):
5471         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5472         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5473         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5474         (gst_child_proxy_set_valist):
5475         * gst/parse/grammar.y:
5476         Make ChildProxy threadsafe and fix mem leaks.
5477
5478 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5479
5480         * gst/gst.c: (init_post):
5481           debug the GST_PLUGIN_ env vars
5482
5483 2005-10-08  Wim Taymans  <wim@fluendo.com>
5484
5485         * check/gst/gstbin.c: (GST_START_TEST):
5486         * check/gst/gstmessage.c: (GST_START_TEST):
5487         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5488         * gst/gstelement.c: (gst_element_commit_state),
5489         (gst_element_lost_state):
5490         * gst/gstmessage.c: (gst_message_new_state_changed),
5491         (gst_message_parse_state_changed):
5492         * gst/gstmessage.h:
5493         * tools/gst-launch.c: (event_loop):
5494         Added extra field to STATE_CHANGE message with the pending
5495         state, which will be different from the new state soon.
5496
5497 2005-10-08  Wim Taymans  <wim@fluendo.com>
5498
5499         * gst/gstbus.c: (gst_bus_pop):
5500         * gst/gstclock.c:
5501         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5502         Small cleanups and doc updates.
5503
5504 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         * gst/gst.c: (init_pre):
5507         * gst/gstbin.c: (gst_bin_add_func):
5508           log distributing clocks and base time
5509         * gst/gstregistry.c: (gst_registry_add_plugin),
5510         (gst_registry_scan_path_level), (gst_registry_scan_path):
5511           clean up the debugging output a little
5512         * gst/gstutils.c: (gst_element_state_get_name):
5513           warn about a memleak (I've actually seen this be used, though
5514           it was probably a bug)
5515
5516 2005-10-07  Wim Taymans  <wim@fluendo.com>
5517
5518         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5519         (gst_base_src_init), (gst_base_src_default_newsegment),
5520         (gst_base_src_newsegment), (gst_base_src_do_seek),
5521         (gst_base_src_loop), (gst_base_src_start):
5522         * gst/base/gstbasesrc.h:
5523         Make the newsegment event customizable by subclasses.
5524
5525 2005-10-07  Wim Taymans  <wim@fluendo.com>
5526
5527         * gst/gstevent.c: (gst_event_new_buffersize),
5528         (gst_event_parse_buffersize):
5529         * gst/gstevent.h:
5530         New event for future idea.
5531
5532 2005-10-07  Andy Wingo  <wingo@pobox.com>
5533
5534         * gst/gstelement.c (gst_element_post_message): Doc update.
5535
5536         * docs/gst/gstreamer-sections.txt: Update.
5537
5538         * gst/gstmessage.c (gst_message_new_application): Made into a
5539         function like honest API calls.
5540         (gst_message_new_element): New message type.
5541
5542         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5543
5544         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5545         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5546         times.
5547
5548         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5549         NO_PREROLL from gst_element_change_state to fall through.
5550
5551 2005-10-07  Wim Taymans  <wim@fluendo.com>
5552
5553         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5554         (gst_ghost_pad_do_activate_push):
5555         Activating a ghostpad with no internal pad in push mode
5556         is ok.
5557
5558 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5559
5560         * gst/gstobject.h:
5561           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5562           Fixes compilation on Windows.
5563
5564 2005-10-07  Michael Smith <msmith@fluendo.com>
5565
5566         * tools/gst-inspect.c:
5567           Print out feature and plugin count at the end when printing out
5568           all features.
5569
5570 2005-10-04  Michael Smith <msmith@fluendo.com>
5571
5572         * gst/gsterror.c: (_gst_stream_errors_init):
5573           Add another error string used in a few existing plugins.
5574
5575         * gst/gstplugin.c:
5576         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5577         * tools/gst-inspect.c: (print_element_info):
5578           When a feature disappears from a plugin (and the feature exists in
5579           the cached registry file), things went horribly wrong. This isn't a
5580           complete fix, we should actually be removing the 'missing' features
5581           from the features list when we load the actual plugin. That's not
5582           yet implemented. 
5583
5584 2005-10-04  Johan Dahlin  <johan@gnome.org>
5585
5586         * check/gst/gstiterator.c: (GST_START_TEST):
5587         * gst/gstbin.c: (gst_bin_iterate_elements),
5588         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5589         * gst/gstelement.c: (gst_element_iterate_pads):
5590         * gst/gstformat.c: (gst_format_iterate_definitions):
5591         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5592         (gst_iterator_new_list), (gst_iterator_filter):
5593         * gst/gstiterator.h:
5594         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5595         Add a GType to GstIterator, update callsites and tests.
5596
5597 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5598
5599         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5600           give events a chance to be handled by event probes when the pad
5601           is not linked
5602
5603 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5604
5605         * gst/gstevent.c: (gst_event_type_get_name),
5606         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5607         * gst/gstevent.h:
5608           add string representations for event types
5609
5610 2005-10-06  Wim Taymans  <wim@fluendo.com>
5611
5612         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5613         Don't use NULL pointers.
5614
5615 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * gst/gst_private.h:
5618         * gst/gstbus.c:
5619         * gst/gstelement.c:
5620         * gst/gstinfo.c:
5621         * gst/gstpluginfeature.c:
5622           widen the debug category in output to fit the biggest one we have
5623           add a bus category and use it
5624           play with the colors
5625           fix up some categories
5626
5627 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5630           add push activation of sink ghost pads.
5631           Andye, please verify
5632
5633 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5634
5635         * gst/gstutils.c: (gst_element_link_pads):
5636           fix a bug in the case where neither element has a pad
5637         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5638           add a test for that case
5639
5640 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5641
5642         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5643           emit have-data before checking for peers.  This allows
5644           for probe handlers to connect elements.  This helps autopluggers.
5645         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5646         (gst_pad_suite):
5647           add six checks, linked/unlinked with no/true/false probe
5648
5649 2005-10-04  Wim Taymans  <wim@fluendo.com>
5650
5651         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5652         (gst_fake_sink_event), (gst_fake_sink_preroll),
5653         (gst_fake_sink_render), (gst_fake_sink_change_state):
5654         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5655         (gst_fake_src_get_property), (gst_fake_src_create),
5656         (gst_fake_src_stop):
5657         * gst/elements/gstidentity.c: (gst_identity_stop):
5658         Protect last_message with lock.
5659
5660 2005-10-04  Edward Hervey  <edward@fluendo.com>
5661
5662         * gst/gstformat.h: 
5663         Added precision in the comments for GST_FORMAT_DEFAULT
5664
5665 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5666
5667         * tools/gst-launch.c: (main):
5668           Don't try to run erroneous pipelines.
5669
5670 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5671
5672         * gst/gstbus.c: We don't need this header.
5673
5674 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5675
5676         * configure.ac:
5677           back to development
5678
5679 === release 0.9.3 ===
5680
5681 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5682
5683         * README:
5684         * configure.ac:
5685           Releasing 0.9.3, "Unregistered"
5686
5687 2005-10-03  Andy Wingo  <wingo@pobox.com>
5688
5689         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5690         whereby calling a pad's activatepush() function can start a thread
5691         that starts to push or pull before the pad gets the FLUSHING flag
5692         unset. Hack around it by holding the stream lock until the flag is
5693         set. Need to replace this with a proper solution. Together with
5694         the ghost pad fixes, this fixes mp3 playing/tagreading.
5695
5696         * docs/design/part-gstghostpad.txt: Add a note about activation of
5697         proxy pads outside of ghost pads.
5698
5699         * gst/gstghostpad.c: Implement the ghost pad activation design.
5700
5701 2005-10-02  Andy Wingo  <wingo@pobox.com>
5702
5703         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5704         It is volatile, after all.
5705
5706         * docs/design/part-gstghostpad.txt: Flesh out activation with
5707         ghost pads.
5708
5709         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5710         GST_DEBUG_FUNCPTR.
5711
5712 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5713
5714         * configure.ac:
5715           Fix (unused) AM_CONDITIONAL tests.
5716
5717 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5718
5719         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5720
5721         * gst/gstutils.c: (gst_pad_query_convert):
5722           Add assertion that makes sure src_val is >=0, just like
5723           gst_query_new_convert() has. (#315895)
5724
5725 2005-09-30  Edward Hervey  <edward@fluendo.com>
5726
5727         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5728         Let's not iterate pads we're not interested in, it avoids getting 
5729         sky-high refcounts on sinkpad.
5730
5731 2005-09-30  Wim Taymans  <wim@fluendo.com>
5732
5733         * gst/gstelement.c: (gst_element_set_state),
5734         (gst_element_change_state):
5735         Small tweak, element in ASYNC remains ASYNC.
5736
5737 2005-09-30  Wim Taymans  <wim@fluendo.com>
5738
5739         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5740         Only error is an error.
5741
5742         * gst/gstbin.c: (gst_bin_change_state):
5743         Better debugging.
5744
5745         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5746         Also call pad_block in pad alloc.
5747
5748         * gst/gstutils.c: (gst_flow_get_name):
5749         Better debugging.
5750
5751 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5752
5753         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5754         (gst_base_src_get_range):
5755           Fix documentation typos. Add some more debug info.
5756
5757 2005-09-29  David Schleef  <ds@schleef.org>
5758
5759         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5760           more end-user friendly.
5761         * tools/gst-inspect.c: (main): Check if command-line argument is
5762           a file and attempt to load that file as a plugin.
5763
5764 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5765
5766         * check/gst/gstbin.c:
5767         * check/states/sinks.c:
5768           fix tests for the new warning
5769         * check/gst/gstpipeline.c:
5770           add a test for pipeline and bus interaction
5771         * gst/gstelement.c:
5772           elements should be NULL if they get disposed; add a warning if not
5773
5774 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5775
5776         * gst/gstobject.c:
5777           for 2.6 refcounting, make debug log more correct by printing
5778           the actual refcounts at the time of swap (Wim)
5779
5780 2005-09-29  Andy Wingo  <wingo@pobox.com>
5781
5782         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5783         removes signal watches previously added via
5784         gst_bus_add_signal_watch.
5785         (gst_bus_add_signal_watch): Don't return the source id, just store
5786         it on the bus if there wasn't an id already.
5787
5788         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5789         add_signal_watch and remove_signal_watch.
5790
5791 2005-09-29  Edward Hervey  <edward@fluendo.com>
5792
5793         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5794         Better if we actually iterate the list :)
5795
5796 2005-09-29  Wim Taymans  <wim@fluendo.com>
5797
5798         * check/gst/gstbin.c: (GST_START_TEST):
5799         Change for new bus API.
5800
5801         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5802         (send_messages), (GST_START_TEST), (gstbus_suite):
5803         Change for new bus signal API.
5804
5805         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5806         (gst_bus_source_prepare), (gst_bus_source_check),
5807         (gst_bus_create_watch), (gst_bus_add_watch_full),
5808         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5809         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5810         * gst/gstbus.h:
5811         Remove support for multiple GSources operating on different
5812         message types as it is too complex and unneeded when using
5813         signals.
5814         Added support for receiving signals from the bus.
5815
5816 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5817
5818         * docs/libs/tmpl/gstdataprotocol.sgml:
5819         * docs/manual/advanced-dataaccess.xml:
5820         * gst/elements/gstcapsfilter.c:
5821         * gst/gstutils.c:
5822           rename filter-caps to caps property
5823
5824 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5825
5826         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5827           More robust fraction string parsing.
5828
5829         * docs/pwg/appendix-porting.xml:
5830           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5831
5832 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5833
5834         * gst/gstcaps.c: (gst_caps_do_simplify):
5835           Thou shalt not free a structure and then continue using it
5836           in the next loop iteration.
5837
5838         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5839         (gst_caps_suite):
5840           Add test case for caps simplification.
5841
5842 2005-09-29  Wim Taymans  <wim@fluendo.com>
5843
5844         * check/gst/gstbin.c: (GST_START_TEST):
5845         Oops.
5846
5847 2005-09-29  Wim Taymans  <wim@fluendo.com>
5848
5849         * check/gst/gstbin.c: (GST_START_TEST):
5850         Add bus to bin.
5851
5852         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5853         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5854         (find_element), (gst_bin_sort_iterator_next),
5855         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5856         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5857         (gst_bin_change_state), (gst_bin_dispose):
5858         A bin does not have a bus, it gets the bus from the parent.
5859
5860         * gst/gstelement.c: (gst_element_requires_clock),
5861         (gst_element_provides_clock), (gst_element_is_indexable),
5862         (gst_element_is_locked_state), (gst_element_change_state),
5863         (gst_element_set_bus_func):
5864         Small cleanups.
5865
5866         * gst/gstpipeline.c: (gst_pipeline_class_init),
5867         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5868         The pipeline provides a bus.
5869
5870 2005-09-28  Johan Dahlin  <johan@gnome.org>
5871
5872         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5873         gst_structure_get_enum instead of gst_structure_get_int
5874
5875         * gst/gststructure.c (gst_structure_get_enum): Impl.
5876
5877         * gst/gststructure.h (gst_structure_get_enum): Add
5878
5879         * docs/gst/gstreamer-sections.txt: Ditto
5880
5881         * gst/gstmessage.c (gst_message_new_state_changed): Use
5882         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5883         which does introspection.
5884         Reviewed by Christian Schaller
5885
5886 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5887
5888         * gst/gstinfo.c: (gst_debug_log_default):
5889           don't do dummy g_strdup()s
5890         * libs/gst/controller/gstcontroller.c:
5891         (on_object_controlled_property_changed),
5892         (gst_controlled_property_new), (gst_controller_new_valist),
5893         (gst_controller_new_list),
5894         (gst_controller_remove_properties_valist), (gst_controller_set),
5895         (gst_controller_get), (gst_controller_sync_values),
5896         (gst_controller_get_value_array), (_gst_controller_class_init),
5897         (gst_controller_get_type):
5898         * libs/gst/controller/gstcontroller.h:
5899         * libs/gst/controller/gstinterpolation.c:
5900         (gst_controlled_property_find_timed_value_node):
5901           convert // to /**/ comments
5902
5903 2005-09-28  Wim Taymans  <wim@fluendo.com>
5904
5905         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5906         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5907         (gst_bus_sync_signal_handler):
5908         * gst/gstbus.h:
5909         Added async-message and sync-message signals to the bus.
5910         Added helper BusFunc to emit signals for all posted messages.
5911
5912         * gst/gstmessage.c: (gst_message_type_get_name),
5913         (gst_message_type_to_quark), (gst_message_get_type):
5914         * gst/gstmessage.h:
5915         Register quarks for message names.
5916
5917 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5918
5919         * docs/libs/gstreamer-libs-sections.txt:
5920         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5921         (gst_controller_new_list):
5922         * libs/gst/controller/gstcontroller.h:
5923           added another constructor for language bindings
5924
5925 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5926
5927         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5928           add another check
5929         * gst/gstbus.c:
5930           add some doc
5931         * gst/gstinfo.c: (_gst_debug_init):
5932           slightly more readable color for refcount debugging
5933
5934 2005-09-28  Wim Taymans  <wim@fluendo.com>
5935
5936         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5937         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5938         (find_element), (gst_bin_sort_iterator_next),
5939         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5940         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5941         (gst_bin_change_state), (gst_bin_dispose):
5942         Small doc fixes. get_clock -> provide_clock.
5943
5944         * gst/gstelement.c: (gst_element_class_init),
5945         (gst_element_provides_clock), (gst_element_provide_clock),
5946         (gst_element_get_clock), (gst_element_commit_state),
5947         (gst_element_lost_state):
5948         * gst/gstelement.h:
5949         Make get/set_clock() symetric. Add provide_clock vmethod since
5950         that is actually what this function does.
5951
5952         * gst/gstpipeline.c: (gst_pipeline_class_init),
5953         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5954         (gst_pipeline_get_clock):
5955         get_clock -> provide_clock.
5956
5957 2005-09-28  Andy Wingo  <wingo@pobox.com>
5958
5959         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5960         lieu of real docs...
5961
5962         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5963
5964 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5965
5966         * gst/elements/gstcapsfilter.c:
5967         * gst/elements/gstfakesink.c:
5968         * gst/elements/gstfakesrc.c:
5969         * gst/elements/gstfdsink.c:
5970         * gst/elements/gstfdsrc.c:
5971         * gst/elements/gstfilesink.c:
5972         * gst/elements/gstfilesrc.c:
5973         * gst/elements/gstidentity.c:
5974         * gst/elements/gsttee.c:
5975         * gst/elements/gsttypefindelement.c:
5976           Make element details static.
5977
5978 2005-09-28  Wim Taymans  <wim@fluendo.com>
5979
5980         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5981         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5982         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5983         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5984         (gst_bin_change_state), (gst_bin_dispose):
5985         Some documentation updates.
5986         Clean up dispose handlers.
5987
5988         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5989         * gst/gstpad.c: (gst_pad_dispose):
5990         Clean up dispose handler.
5991
5992         * gst/gstpipeline.c: (gst_pipeline_change_state):
5993         Removed spurious UNLOCK.
5994
5995 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5996
5997         * docs/gst/gstreamer-sections.txt:
5998         * gst/base/gstbasesrc.h:
5999         * gst/gstelement.h:
6000         * gst/gstevent.h:
6001         * gst/gstobject.h:
6002         * gst/gstpad.h:
6003         * gst/gstpipeline.c:
6004         * gst/gstpipeline.h:
6005         * gst/gstutils.h:
6006         * gst/gstxml.h:
6007           added two new functions to the docs
6008                 documents all undocumented GstXXXFlags
6009                 completed some incomplete docs 
6010
6011 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6012
6013         * gst/gstbin.c: (gst_bin_dispose):
6014         * gst/gstelement.c: (gst_element_dispose):
6015           remove now useless and leaky resurrection code in dispose
6016         * gst/base/gstbasesrc.c: (gst_base_src_init):
6017         * gst/gstelementfactory.c: (gst_element_factory_create):
6018         * gst/gstobject.c: (gst_object_set_parent):
6019           add some debugging
6020
6021 2005-09-27  Wim Taymans  <wim@fluendo.com>
6022
6023         * docs/design/part-TODO.txt:
6024         Update TODO.
6025
6026         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6027         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6028         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6029         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6030         (gst_bin_change_state):
6031         * gst/gstelement.h:
6032         Remove element variable, we keep element info in the iterator now.
6033
6034 2005-09-27  Andy Wingo  <wingo@pobox.com>
6035
6036         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6037         values.
6038
6039 2005-09-27  Wim Taymans  <wim@fluendo.com>
6040
6041         * check/gst/gstbin.c: (GST_START_TEST):
6042         Enable check that works now.
6043
6044         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6045         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6046         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6047         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6048         (gst_bin_change_state):
6049         * gst/gstbin.h:
6050         Redid the state change algorithm using a topological sort algo.
6051         Handles all cases correctly.
6052         Exposed iterator for state change order.
6053
6054         * gst/gstelement.h:
6055         Temp storage for state changes. Need to get rid of this soon.
6056
6057 2005-09-27  Wim Taymans  <wim@fluendo.com>
6058
6059         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6060         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6061         (link_fold_func), (gst_pad_proxy_setcaps):
6062         Leak fixes, the fold functions need to unref the passed object and
6063         _get_parent_*() returns ref to parent.
6064
6065 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6066
6067         * check/gst/gstbuffer.c: (test_make_writable):
6068           Plug leak in test case and fix 'make check-valgrind'
6069
6070 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6071
6072         * gst/gstbuffer.c: (gst_subbuffer_init):
6073           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6074           works correctly in all circumstances (we could have just copied
6075           the parent buffer's readonly flag, but conceptually it seems
6076           cleaner to mark all subbuffers as read-only). (based on patch
6077           by Alessandro Decina, #314710).
6078         
6079         * check/gst/gstbuffer.c: (create_read_only_buffer),
6080         (test_make_writable), (test_subbuffer_make_writable),
6081         (gst_test_suite):
6082           Add some tests for gst_buffer_make_writable().
6083
6084 2005-09-27  Wim Taymans  <wim@fluendo.com>
6085
6086         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6087         use gst_object_has_ancestor().
6088
6089         * gst/gstobject.c: (gst_object_has_ancestor):
6090         * gst/gstobject.h:
6091         gst_object_has_ancestor() copied from gstbin.c as it is a
6092         usefull function.
6093
6094         * tests/instantiate/create.c: (create_all_elements):
6095         * tests/lat.c: (handoff_src), (handoff_sink):
6096         * tests/sched/runxml.c: (main):
6097         * tests/seeking/seeking1.c: (main):
6098         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6099         (main):
6100         Fix compilation of some tests.
6101
6102 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6103
6104         * gst/gsterror.h:
6105           Remove comment. GST_TYPE_G_ERROR is here to stay,
6106           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6107           (#316961, #300610).
6108
6109 2005-09-26  Wim Taymans  <wim@fluendo.com>
6110
6111         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6112         Added check that shows error in state change order.
6113
6114 2005-09-26  Wim Taymans  <wim@fluendo.com>
6115
6116         * gst/gstbin.c: (gst_bin_change_state):
6117         Make state change function use 3 queues again, we were
6118         adding elements in the wrong order.
6119
6120         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6121         Some debug info,
6122
6123         * gst/gstpad.c: (gst_pad_dispose):
6124         Added some debug info first.
6125
6126 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6127
6128         * docs/design/draft-push-pull.txt:
6129         * docs/design/part-events.txt:
6130         * docs/design/part-overview.txt:
6131         * docs/design/part-scheduling.txt:
6132           Replace all _pull_region() with _pull_range()
6133           
6134 2005-09-26  Andy Wingo  <wingo@pobox.com>
6135
6136         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6137
6138         * check/gst-libs/controller.c: Update for controller api change.
6139
6140         * configure.ac: 
6141         * tests/Makefile.am:
6142         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6143         over by GLib bug 118439.
6144         
6145         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6146         routines to a function.
6147
6148         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6149
6150         * libs/gst/controller/gsthelper.c:
6151         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6152         (gst_object_sync_values): Renamed from sink_values. Ugh.
6153
6154         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6155
6156         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6157         Renamed from controller_key, as it is exported.
6158
6159         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6160
6161 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6162
6163         * gst/Makefile.am:
6164         * gst/gst.h:
6165         * gst/gstpad.h:
6166         * gst/gstpadtemplate.h:
6167         * gst/gstquery.c:
6168         * gst/gstquery.h:
6169         * gst/gstqueryutils.c:
6170         * gst/gstqueryutils.h:
6171           remove queryutils headers after moving the two used functions
6172           to gstquery.  also fixes build problem for gstsiddec
6173
6174 2005-09-26  Michael Smith <msmith@fluendo.com>
6175
6176         * tools/gst-launch.1.in:
6177         Correct documentation in manpage of debug syntax
6178
6179 2005-09-26  Wim Taymans  <wim@fluendo.com>
6180
6181         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6182         (gst_base_src_is_seekable), (gst_base_src_change_state):
6183         Some more debugging info.
6184
6185 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6186
6187         * docs/gst/gstreamer-sections.txt:
6188         * gst/base/gstbasetransform.h:
6189         * gst/gstindex.h:
6190           added more docs
6191
6192 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6193
6194         * docs/gst/.cvsignore:
6195         * docs/gst/tmpl/.cvsignore:
6196         * docs/gst/tmpl/gstpipeline.sgml:
6197         * docs/gst/tmpl/gstplugin.sgml:
6198         * gst/gstpipeline.c:
6199         * gst/gstplugin.c:
6200         * gst/gstplugin.h:
6201           inlined the last two docs files
6202           removed the tmpl directory from cvs (no more conflicts here!)
6203
6204 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6205
6206         * docs/gst/gstreamer-sections.txt:
6207         * docs/gst/tmpl/.cvsignore:
6208         * docs/gst/tmpl/gstpad.sgml:
6209         * docs/gst/tmpl/gstpadtemplate.sgml:
6210         * gst/Makefile.am:
6211         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6212         (gst_pad_finalize), (gst_pad_set_pad_template):
6213         * gst/gstpad.h:
6214         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6215         (gst_pad_template_class_init), (gst_pad_template_init),
6216         (gst_pad_template_dispose), (name_is_valid),
6217         (gst_static_pad_template_get), (gst_pad_template_new),
6218         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6219         (gst_pad_template_pad_created):
6220         * gst/gstpadtemplate.h:
6221           inlined two more docs
6222           factored gstpadtemplate out of gstpad
6223
6224 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6227         (test_children_state_change_order_semi_sink):
6228           Fix test case: we can't rely on a fixed state change order when
6229           going from READY => PAUSED because the sink might commit its 
6230           new state first when the first buffer created by the source 
6231           reaches the sink before the source has finished its change state.
6232           (Test case still fails at times, see #316856, comment 5 onwards)
6233
6234 2005-09-24  Wim Taymans  <wim@fluendo.com>
6235
6236         * docs/design/part-events.txt:
6237         * docs/design/part-gstbus.txt:
6238         * docs/design/part-gstpipeline.txt:
6239         * docs/design/part-messages.txt:
6240         * docs/design/part-overview.txt:
6241         * docs/design/part-segments.txt:
6242         * gst/gstbin.c:
6243         * gst/gstbuffer.c:
6244         * gst/gstclock.c:
6245         * gst/gstelement.c:
6246         * gst/gstevent.c:
6247         * gst/gstfilter.c:
6248         * gst/gstiterator.c:
6249         Various documentation updates.
6250
6251 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6252
6253         * gst/gstclock.h:
6254           Well, that's embarassing.  Luckily we weren't using
6255           GST_CLOCK_DIFF anywhere.
6256
6257 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         * common/gtk-doc.mak:
6260           don't fail on building XML, FC4 slave shows a bunch of doc
6261           missing bits that I don't get
6262         * gst/gstpad.c:
6263         * gst/gstpipeline.c:
6264         * gst/gststructure.c:
6265           some doc updates
6266
6267 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6268
6269         * docs/design/part-gstbin.txt:
6270         * docs/design/part-gstbus.txt:
6271         * gst/gstbus.c:
6272           Add blurb about how the bus goes into flushing mode and
6273           drops all messages when its bin goes from READY into NULL 
6274           state.
6275
6276 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6277
6278         * docs/gst/gstreamer-sections.txt:
6279         * gst/gststructure.c: (gst_structure_get_clock_time):
6280         * gst/gststructure.h:
6281           add a method to get a GstClockTime out of a structure
6282
6283 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6284
6285         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6286         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6287           Added test to check state change order in bins (can still be made
6288           to fail here under heavy disk load; bails out with 'Push on pad
6289           fakesink:sink0, but it was not activated in push mode').
6290
6291         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6292           Fix state change order when there is only a semi sink (#316856)
6293
6294         * gst/gstbus.c: (gst_bus_class_init):
6295           Use _class_peek_parent(), not _class_ref(); fix docs to say
6296           'default main context' instead of 'mainloop' where that is
6297           what's meant.
6298
6299         * gst/gstelement.c: (gst_element_commit_state),
6300         (gst_element_set_state):
6301           Fix typos in debug messages
6302
6303 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6304
6305         * docs/README:
6306         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6307         * gst/gstpluginfeature.c:
6308         * gst/gstutils.c:
6309           various doc updates
6310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6311           change an assert into an error until it gets fixed properly
6312
6313 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6314
6315         * docs/gst/gstreamer-sections.txt:
6316         * docs/gst/tmpl/.cvsignore:
6317         * docs/gst/tmpl/gstelement.sgml:
6318         * docs/gst/tmpl/gstinfo.sgml:
6319         * docs/gst/tmpl/gstobject.sgml:
6320         * gst/gstelement.c:
6321         * gst/gstelement.h:
6322         * gst/gstinfo.c:
6323         * gst/gstinfo.h:
6324         * gst/gstobject.c: (gst_object_class_init):
6325         * gst/gstobject.h:
6326           inlined 3 more biiiig doc files and added some missing docs on the fly
6327
6328 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6329
6330         * check/gst/.cvsignore:
6331         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6332         * gst/gstregistryxml.c: (load_plugin),
6333         (gst_registry_xml_save_plugin):
6334           put back source in registry.  add checks for find_plugin.
6335         * testsuite/states/bin.c: (assert_state), (empty_bin),
6336         (test_adding_one_element), (main):
6337         * testsuite/states/locked.c: (main):
6338           some compile/run fixes
6339
6340 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6341
6342         * check/gst/gstvalue.c: (GST_START_TEST):
6343           fix leaks in the test itself
6344
6345 2005-09-22  Wim Taymans  <wim@fluendo.com>
6346
6347         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6348         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6349         (gst_base_sink_query):
6350         Prepare for more accurate position reporting and query
6351         handling.
6352
6353         * gst/gstelement.c: (gst_element_send_event),
6354         (gst_element_set_state):
6355         Add some comment.
6356
6357 2005-09-22  Wim Taymans  <wim@fluendo.com>
6358
6359         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6360         (gst_query_parse_segment):
6361         * gst/gstquery.h:
6362         More documentation.
6363         Add segment query for future use.
6364
6365 2005-09-22  Wim Taymans  <wim@fluendo.com>
6366
6367         * gst/gstbin.c: (gst_bin_add_func):
6368         Some more debug info.
6369
6370         * gst/gstelement.c: (gst_element_send_event):
6371         Simplify send_event
6372
6373         * gst/gstelement.h:
6374         Don't know how flags got broken.
6375
6376         * gst/gstquery.h:
6377         Added new query.
6378
6379 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6380
6381         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6382           Add simplistic test suite for GST_TYPE_DATE serialisation and
6383           deserialisation.
6384
6385 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6386
6387         * docs/gst/gstreamer-sections.txt:
6388         * gst/gststructure.c: (gst_structure_set_valist),
6389         (gst_structure_get_date):
6390         * gst/gststructure.h:
6391         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6392         (gst_date_copy), (gst_value_compare_date),
6393         (gst_value_serialize_date), (gst_value_deserialize_date),
6394         (gst_value_transform_date_string),
6395         (gst_value_transform_string_date), (_gst_value_initialize):
6396         * gst/gstvalue.h:
6397           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6398           bunch of utility functions along with a hack that checks that
6399           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6400           is required. Part of the grand scheme in #170777.
6401
6402 2005-09-22  Andy Wingo  <wingo@pobox.com>
6403
6404         * gst/gstconfig.h.in: Psych out gtk-doc.
6405
6406         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6407
6408         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6409
6410         * tools/gst-inspect.c (print_element_list): Plug some
6411         inconsequential leaks.
6412
6413         * gst/gstregistry.c (gst_registry_get_default): Doc.
6414
6415         * check/gst/gstplugin.c: 
6416         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6417         * gst/gstelementfactory.c (gst_element_factory_create): 
6418         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6419         refcount changes.
6420
6421         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6422         (gst_plugin_feature_load): Doc, don't eat refs.
6423
6424         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6425         (gst_plugin_list_free): Doc.
6426         (gst_plugin_load_file): Doc updates.
6427
6428         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6429         accessors returning refcounted objects, return a ref.
6430
6431         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6432         accessor for caps. IDEMPOTENCE. Oh yes.
6433
6434 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6435
6436         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6437
6438         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6439         (_gst_debug_register_funcptr):
6440           Add mutex to serialise access to the hash table with
6441           the function pointer => function name string mapping;
6442           make that hash table static scope (#316809).
6443
6444         * gst/registries/.cvsignore:
6445           Remove left-over file.
6446
6447 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6448
6449         * docs/pwg/appendix-porting.xml:
6450           And something about newsegment events and caps-on-buffers to
6451           the porting guide (feel free to improve).
6452
6453 2005-09-21  Andy Wingo  <wingo@pobox.com>
6454
6455         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6456         data and event probes on the same pad.
6457         (test_buffer_probe_once): Test that removing probes from within
6458         the probe functions works.
6459
6460 2005-09-21  Andy Wingo  <wingo@pobox.com>
6461
6462         * check/gst/gstutils.c: New file.
6463         (test_buffer_probe_n_times): A simple buffer probe test. More to
6464         come, foolios.
6465
6466         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6467         have-data::buffer, not have-data.
6468         (gst_pad_add_event_probe): Likewise for have-data::event.
6469         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6470         peer' isn't quite right yet though.
6471         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6472         (gst_pad_remove_data_probe): Change to take the guint handler_id
6473         as their arg, not the function+data, which is more glib-like.
6474
6475         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6476         the signal emission to indicate if the data is a buffer or an
6477         event.
6478         (gst_pad_get_type): Initialize buffer and event quarks.
6479         (gst_pad_class_init): have-data is now a detailed signal, yes it
6480         is.
6481
6482 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6483
6484         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6485         * gst/gstutils.c: (gst_util_set_value_from_string),
6486         (gst_util_set_object_arg):
6487           Don't put functional code in g_return_if_fail() or
6488           g_return_val_if_fail() statements, otherwise things will 
6489           break when G_DISABLE_CHECKS is defined during compilation.
6490
6491 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6492
6493         * docs/gst/tmpl/.cvsignore:
6494         * docs/gst/tmpl/gstvalue.sgml:
6495         * gst/gstvalue.c:
6496         * gst/gstvalue.h:
6497           inlied another one and added  some obvious docs
6498
6499 2005-09-21  Wim Taymans  <wim@fluendo.com>
6500
6501         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6502         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6503         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6504         (gst_fdsrc_get_property), (gst_fdsrc_create):
6505         * gst/elements/gstfdsrc.h:
6506         Properly implement fdsrc. Removed signal and timeout,
6507         better implemented somewhere else.
6508
6509 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6510
6511         * docs/gst/tmpl/.cvsignore:
6512         * docs/gst/tmpl/gstimplementsinterface.sgml:
6513         * gst/gstinterface.c:
6514           inlined more docs
6515
6516 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6517
6518         * docs/gst/gstreamer-sections.txt:
6519         * docs/gst/tmpl/.cvsignore:
6520         * docs/gst/tmpl/gstenumtypes.sgml:
6521           remove obsolete doc file
6522
6523 2005-09-21  David Schleef  <ds@schleef.org>
6524
6525         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6526         little beer, fix a little leak.
6527
6528 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6529
6530         * docs/gst/gstreamer-docs.sgml:
6531         * docs/gst/gstreamer-sections.txt:
6532         * docs/gst/tmpl/.cvsignore:
6533         * gst/Makefile.am:
6534         * gst/gst.h:
6535         * gst/gstbin.c:
6536         * gst/gstelement.h:
6537         * gst/gstindex.c: (gst_index_class_init):
6538         * gst/gstindex.h:
6539         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6540         (gst_index_factory_class_init), (gst_index_factory_init),
6541         (gst_index_factory_finalize), (gst_index_factory_new),
6542         (gst_index_factory_destroy), (gst_index_factory_find),
6543         (gst_index_factory_create), (gst_index_factory_make):
6544         * gst/gstindexfactory.h:
6545         * gst/gstpluginfeature.c:
6546         * gst/gstpluginfeature.h:
6547         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6548           more docs inlined, splitted gstindex.{c,h}
6549
6550 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6551
6552         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6553           fix a leak
6554
6555 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6556
6557         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6558           Set sync to FALSE by default.
6559
6560 2005-09-20  Wim Taymans  <wim@fluendo.com>
6561
6562         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6563         (gst_base_sink_init):
6564         Make sync property settable from subclass.
6565
6566         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6567         (gst_fake_sink_change_state):
6568         Set sync to FALSE by default.
6569
6570 2005-09-20  Wim Taymans  <wim@fluendo.com>
6571
6572         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6573         * tools/gst-launch.c: (main):
6574         The timeout handler should have lower priority than the source
6575         so we don't timeout before popping a message with 0 timeout.
6576         Dump error messages after failed state change.
6577
6578 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6579
6580         * tools/gst-inspect.c: (print_element_properties_info):
6581           Fix two typos.
6582
6583 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6584
6585         * check/gst/gstevent.c:
6586         * gst/elements/gstfakesink.c:
6587         * gst/elements/gstfakesink.h:
6588           remove the sync property from fakesink.
6589           has the side effect of setting sync TRUE
6590           for fakesink, which is a change.  Anyone who knows how
6591           to fix this nicely in a GObject-y way, feel free.
6592
6593 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6594
6595         * docs/gst/gstreamer-docs.sgml:
6596           remove probe refsection
6597
6598 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6599
6600         * check/Makefile.am:
6601           disable valgrinding the controller test again
6602         * docs/gst/gstreamer-sections.txt:
6603           update for api-changes
6604
6605 2005-09-20  Wim Taymans  <wim@fluendo.com>
6606
6607         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6608         (gst_base_sink_set_property), (gst_base_sink_get_property),
6609         (gst_base_sink_do_sync):
6610         * gst/base/gstbasesink.h:
6611         Added sync property to basesink to disable clock sync.
6612
6613 2005-09-20  Andy Wingo  <wingo@pobox.com>
6614
6615         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6616         eating the caller's refcount.
6617
6618         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6619         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6620         refcount.
6621
6622         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6623         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6624         of GLib 2.8 public, so we can know which refcount to check in
6625         tests.
6626
6627         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6628         (gst_object_init): Only set the gst refcount if we're going ahead
6629         with the refcount hack.
6630
6631 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6632
6633         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6634         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6635           more leaks plumbed, added more debug-logging
6636         * gst/gstmacros.h:
6637           whitespace fix
6638
6639 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6640
6641         * gst/gstmessage.c:
6642           remove include of gstmemchunk.h
6643
6644 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6645
6646         * gst/gstclock.c: (_gst_clock_id_free):
6647           Commit from the Political Party For More Atomic CVS Commits,
6648           so that people don't waste too much of their day fishing
6649           out obvious leaks out of massive commits.
6650           Oh, and fix a pretty damn obvious leak in the memchunk
6651           removal code.
6652
6653 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6654
6655         * check/Makefile.am:
6656         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6657           plug mem-leak, re-add to valgrindable tests
6658
6659 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6660
6661         * gst/gstplugin.h:
6662           unbreak the build for those who have chronic arthritis
6663           and typing "make check" is just too taxing on the hands
6664
6665 2005-09-20  Andy Wingo  <wingo@pobox.com>
6666
6667         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6668         really want it out, you should fix plugins at the same time.
6669
6670 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6671
6672         * configure.ac:
6673         * docs/gst/gstreamer-sections.txt:
6674         * gst/gstobject.c:
6675           added missing symbols to api docs
6676           disable ref-count hack if we have glib >= 2.8
6677
6678 2005-09-19  David Schleef  <ds@schleef.org>
6679
6680         * docs/gst/Makefile.am: Ignore a few more internal headers
6681         * docs/gst/gstreamer-docs.sgml: Remove old sections
6682         * docs/gst/gstreamer-sections.txt: Remove old sections
6683         * docs/gst/tmpl/gstobject.sgml: update
6684         * docs/gst/tmpl/gstplugin.sgml: update
6685         * docs/gst/tmpl/gstpluginfeature.sgml: update
6686         * docs/random/ds/0.9-suggested-changes: update.
6687         * gst/Makefile.am: remove memchunk and trashstack, since they're
6688           not used.
6689         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6690         * gst/gst.h: don't include some headers
6691         * gst/gstchildproxy.c: add gstmarshal.h
6692         * gst/gstclock.c: Don't use memchunks
6693         * gst/gstminiobject.c: Add some docs
6694         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6695         * gst/gstobject.h: same
6696         * gst/gstplugin.c: include gstmacros.h
6697         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6698         * gst/gstquery.c: don't use memchunks
6699         * gst/gstregistry.c: rename gst_registry_deinit()
6700         * gst/gstregistry.h: same
6701
6702 2005-09-19  David Schleef  <ds@schleef.org>
6703
6704         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6705         * docs/libs/gstreamer-libs-sections.txt:
6706         * docs/libs/tmpl/gstgetbits.sgml:
6707         * docs/libs/tmpl/gstputbits.sgml:
6708
6709 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6710
6711         * win32/gstenumtypes.c:
6712         * win32/gstenumtypes.h:
6713           Update.
6714
6715 2005-09-19  Wim Taymans  <wim@fluendo.com>
6716
6717         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6718         Automatically PAUSE and RESUME a pipeline when a flushing seek
6719         is performed.
6720
6721 2005-09-19  Andy Wingo  <wingo@pobox.com>
6722
6723         * gst/gstregistry.h: Spacing fixen.
6724
6725 2005-09-19  Wim Taymans  <wim@fluendo.com>
6726
6727         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6728         Handle state change failure more correctly.
6729
6730 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6731
6732         * check/Makefile.am:
6733         * check/pipelines/cleanup.c: (run_pipeline):
6734         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6735         (GST_START_TEST):
6736           enable cleanup again after fixing the leak
6737         * docs/README:
6738           some more info on docs
6739
6740 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6741
6742         * check/Makefile.am:
6743           re-enable tests now that leaks are plugged
6744         * check/gst/gst.c:
6745         * check/gst/gstbin.c:
6746         * check/gst/gstpipeline.c:
6747           add some more tests while fixing leaks
6748         * common/check.mak:
6749           make sure binaries are uptodate when valgrinding/gdbing
6750         * gst/gst.c:
6751         * gst/gstelementfactory.c:
6752           remove a ref too many, and add a FIXME for when we get
6753           round to disposing of classes
6754         * gst/gstplugin.c:
6755           fix the refcounting when loading a plugin from a file and
6756           the code pretends that the pointer is the same even though
6757           of course it can change
6758         * gst/gstpluginfeature.c:
6759           unref plugins marked cached (a bit confusing as a name)
6760           as the docs state should be done
6761           various doc additions to explain refcounting
6762         * gst/gstregistry.c:
6763         * gst/gstregistryxml.c:
6764           debugging
6765
6766 2005-09-19  Wim Taymans  <wim@fluendo.com>
6767
6768         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6769         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6770         (send_messages), (GST_START_TEST), (gstbus_suite):
6771         * check/gst/gstpipeline.c: (GST_START_TEST):
6772         * check/pipelines/cleanup.c: (run_pipeline):
6773         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6774         (GST_START_TEST):
6775         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6776         (gst_bus_source_check), (gst_bus_source_dispatch),
6777         (gst_bus_create_watch), (gst_bus_add_watch_full),
6778         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6779         * gst/gstbus.h:
6780         * tools/gst-launch.c: (event_loop):
6781         * tools/gst-md5sum.c: (event_loop):
6782         GstBusHandler -> GstBusFunc, return value has the same meaning as
6783         any other GSource (FALSE == remove source).
6784         _add_watch() and _add_watch_full() now take a MessageType mask to
6785         only handle specific types of messages.
6786         _poll() returns the GstMessage instead of the message type to avoid
6787         race conditions.
6788         _have_pending() takes a MessageType mask now too.
6789         Added testsuite for multiple bus watches.
6790         Fix testsuites and applications for new bus API.
6791
6792 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6793
6794         * check/Makefile.am:
6795           mark a bunch of the tests as to fix until we fix them
6796
6797 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6798
6799         * common/check.mak:
6800           use GST_PLUGIN settings for valgrind tests as well, so we're
6801           valgrinding the correct thing
6802         * gst/gst.c: (init_post):
6803           plug another leak
6804
6805 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6806
6807         * gst/gst.c: (init_post), (gst_deinit):
6808         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6809         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6810         * gst/gstindex.c: (gst_index_factory_class_init),
6811         (gst_index_factory_finalize):
6812         * gst/gstobject.c: (gst_object_dispose):
6813         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6814         (gst_plugin_load_file), (gst_plugin_desc_free):
6815         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6816         (gst_plugin_feature_finalize):
6817         * gst/gstregistry.c: (gst_registry_class_init),
6818         (gst_registry_init), (gst_registry_finalize),
6819         (gst_registry_get_default), (gst_registry_deinit):
6820         * gst/gstregistry.h:
6821         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6822           various cleanups and memleak plugging.  make valgrind is happy now.
6823
6824 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6825
6826         * common/check.mak:
6827           add a check-valgrind target
6828
6829 2005-09-18  David Schleef  <ds@schleef.org>
6830
6831         * tools/gst-inspect.c: Revert the GOption code.
6832
6833 2005-09-17  David Schleef  <ds@schleef.org>
6834
6835         * check/Makefile.am: Fix environment variables.
6836         * check/gst/gstplugin.c: Fix for API changes.
6837         * tools/gst-inspect.c: Fix for API changes.
6838         * tools/gst-xmlinspect.c: Fix for API changes.
6839         * gst/gstelementfactory.c:
6840         * gst/gstplugin.c:
6841         * gst/gstplugin.h:
6842         * gst/gstpluginfeature.c:
6843         * gst/gstpluginfeature.h:
6844         * gst/gstregistry.c:
6845         * gst/gstregistry.h:
6846         * gst/gstregistryxml.c:
6847         * gst/gsttypefind.c:
6848         * gst/gsttypefindfactory.c:
6849         * gst/indexers/gstfileindex.c:
6850         * gst/indexers/gstmemindex.c:
6851         * gst/schedulers/Makefile.am:
6852           Change registry to keep track of both plugins and features,
6853           removing the feature tracking from plugins themselves.
6854
6855 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6856
6857         * check/Makefile.am:
6858         * tools/gst-register.1.in:
6859           remove gst-register
6860
6861 2005-09-15  David Schleef  <ds@schleef.org>
6862
6863         * check/gst/gstplugin.c:
6864         * gst/gstelementfactory.c:
6865         * gst/gstplugin.c:
6866         * gst/gstpluginfeature.c:
6867         * gst/gstregistry.c:
6868           Getting tired of debugging.  Disabled all the unreffing of
6869           plugins and features, which fixes the segfaults, but of
6870           course leaks like crazy.  At least playbin works.
6871
6872 2005-09-15  David Schleef  <ds@schleef.org>
6873
6874         * check/gst/gstplugin.c: (register_check_elements),
6875         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6876         More testing
6877         * gst/elements/gsttypefindelement.c: Fix refcounting.
6878         * gst/gsttypefind.c:
6879         * gst/gsttypefindfactory.c:
6880         * gst/gsttypefindfactory.h:
6881
6882 2005-09-15  David Schleef  <ds@schleef.org>
6883
6884         * gst/gstindex.c: get refcounting correct.
6885         * gst/gstregistry.c: Handle the case where a feature/plugin is
6886           not found.
6887
6888 2005-09-15  David Schleef  <ds@schleef.org>
6889
6890         * check/Makefile.am:
6891         * check/gst/gstplugin.c: Add test
6892         * gst/gstplugin.c: Fix problems noticed by testsuite
6893         * gst/gstplugin.h:
6894         * gst/gstregistry.c: 
6895         * gst/gstregistry.h:
6896
6897 2005-09-15  David Schleef  <ds@schleef.org>
6898
6899         * gst/gstplugin.c: Implement semi-decent recounting and locking
6900           in plugins and plugin features.
6901         * gst/gstplugin.h:
6902         * gst/gstpluginfeature.c:
6903         * gst/gstpluginfeature.h:
6904         * gst/gstregistry.c:
6905
6906 2005-09-15  Michael Smith <msmith@fluendo.com>
6907
6908         * gst/gstregistry.c: (gst_registry_get_feature_list):
6909           Implement this. Makes oggdemux work; decodebin still broken.
6910
6911 2005-09-14  David Schleef  <ds@schleef.org>
6912
6913         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6914           #316076)
6915         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6916         * gst/check/Makefile.am:
6917         * libs/gst/controller/Makefile.am:
6918         * libs/gst/dataprotocol/Makefile.am:
6919
6920 2005-09-14  David Schleef  <ds@schleef.org>
6921
6922         * configure.ac: Remove getbits library.  Nothing uses it, and
6923           it should be in something like liboil if someone did want
6924           to use it.
6925         * libs/gst/Makefile.am:
6926         * libs/gst/getbits/Makefile.am:
6927         * libs/gst/getbits/gbtest.c:
6928         * libs/gst/getbits/getbits.c:
6929         * libs/gst/getbits/getbits.h:
6930         * libs/gst/getbits/gstgetbits_generic.c:
6931         * libs/gst/getbits/gstgetbits_i386.s:
6932         * libs/gst/getbits/gstgetbits_inl.h:
6933
6934 2005-09-14  David Schleef  <ds@schleef.org>
6935
6936         * gst/Makefile.am: Dist glib-compat.h
6937
6938 2005-09-14  David Schleef  <ds@schleef.org>
6939
6940         * configure.ac: Remove gst/registries, since it's no longer used.
6941         * gst/registries/Makefile.am:
6942         * gst/registries/gstlibxmlregistry.c:
6943         * gst/registries/gstlibxmlregistry.h:
6944         * gst/registries/gstxmlregistry.c:
6945         * gst/registries/gstxmlregistry.h:
6946         * gst/registries/registrytest.c:
6947
6948 2005-09-14  David Schleef  <ds@schleef.org>
6949
6950         * gst/glib-compat.h:
6951         * gst/gstregistryxml.c:
6952           Convergence is near.  Seriously.
6953
6954 2005-09-14  David Schleef  <ds@schleef.org>
6955
6956         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6957         * gst/glib-compat.h:
6958           Attempt #4 to appease the buildbots.
6959
6960 2005-09-14  David Schleef  <ds@schleef.org>
6961
6962         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6963           Attempt #3.
6964
6965 2005-09-14  David Schleef  <ds@schleef.org>
6966
6967         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6968         Attempt #2.
6969
6970 2005-09-14  David Schleef  <ds@schleef.org>
6971
6972         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6973           the new functions.
6974
6975 2005-09-14  David Schleef  <ds@schleef.org>
6976
6977         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6978         * gst/glib-compat.h: Add some functions that are in newer versions
6979           of glib than we care to require.
6980         * gst/gstregistryxml.c: Use them.
6981
6982 2005-09-14  David Schleef  <ds@schleef.org>
6983
6984         * po/POTFILES.in: remove gst-register.c
6985
6986 2005-09-14  David Schleef  <ds@schleef.org>
6987
6988         * docs/gst/gstreamer-docs.sgml:
6989         * docs/gst/gstreamer-sections.txt:
6990         * docs/gst/gstreamer.types:
6991         * docs/gst/tmpl/gstelement.sgml:
6992         * docs/gst/tmpl/gstplugin.sgml:
6993         * docs/gst/tmpl/gstpluginfeature.sgml:
6994           Documentation updates for registry changes.
6995
6996 2005-09-14  David Schleef  <ds@schleef.org>
6997
6998         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6999           because we don't require glib-2.8.
7000
7001 2005-09-14  David Schleef  <ds@schleef.org>
7002
7003         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7004           registries directory.
7005
7006 2005-09-14  David Schleef  <ds@schleef.org>
7007
7008         * check/Makefile.am:
7009         * check/generic/states.c:
7010         * gst/Makefile.am:
7011         * gst/gst.c:
7012         * gst/gst.h:
7013         * gst/gst_private.h:
7014         * gst/gstelementfactory.c:
7015         * gst/gstindex.c:
7016         * gst/gstinfo.c:
7017         * gst/gstplugin.c:
7018         * gst/gstplugin.h:
7019         * gst/gstpluginfeature.c:
7020         * gst/gstpluginfeature.h:
7021         * gst/gstregistry.c:
7022         * gst/gstregistry.h:
7023         * gst/gstregistrypool.c: remove
7024         * gst/gstregistrypool.h: remove
7025         * gst/gsttypefind.c:
7026         * gst/gsttypefindfactory.c:
7027         * gst/gsturi.c:
7028         * tools/Makefile.am:
7029         * tools/gst-compprep.c:
7030         * tools/gst-inspect.c:
7031         * tools/gst-register.c: remove
7032         * tools/gst-xmlinspect.c:
7033           Registry rewrite.  Changes registry from being a file created
7034           by a tool into a simple cache file created automatically by 
7035           libgstreamer.  Removed gst-register (because it's no longer
7036           needed).  Remove registry pools, because we only have one
7037           registry implementation (XML).  Fix up other subsystems as
7038           necessary.
7039
7040 2005-09-13  Michael Smith <msmith@fluendo.com>
7041
7042         * gst/gstconfig.h.in:
7043           Don't Use windows linking attributes for MinGW. Fixes #316157
7044
7045 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7046
7047         * gst/gstutils.c: (set_state_async_thread_func),
7048         (gst_element_set_state_async):
7049           Apparently people think it's better if this function doesn't
7050           try to set the state to whatever state was asked for on the first
7051           call to this function for any object.  Seriously.
7052
7053 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7054
7055         * check/gst/gstpipeline.c: (GST_START_TEST):
7056         * docs/gst/gstreamer-sections.txt:
7057         * gst/gstutils.c: (set_state_async_thread_func),
7058         (gst_element_set_state_async):
7059         * gst/gstutils.h:
7060           add a "gst_element_set_state_async" method that
7061           sets the state and starts a thread to make sure the state
7062           change completes as best as it can
7063
7064 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7065
7066         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7067           codify design+behaviour in testsuite after discussion
7068
7069 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * docs/gst/tmpl/gstelement.sgml:
7072         * docs/manual/appendix-quotes.xml:
7073           add a quote
7074         * gst/gstelement.c: (gst_element_set_state):
7075           add some debug
7076
7077 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7078
7079         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7080         (gst_base_transform_prepare_output_buf),
7081         (gst_base_transform_handle_buffer):
7082         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7083         (gst_capsfilter_prepare_buf):
7084           Remove the requirement for sub-classes to call the parent
7085           implementation of prepare_output_buffer with a wrapper function.
7086           
7087         * gst/gsttaglist.h:
7088         * gst/gsttagsetter.h:
7089           Fix #define wrapper
7090
7091 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7092
7093         * docs/gst/gstreamer-sections.txt:
7094           more doc cleanups
7095
7096 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7097
7098         * docs/gst/gstreamer-sections.txt:
7099         * docs/gst/tmpl/gstelement.sgml:
7100         * docs/gst/tmpl/gstplugin.sgml:
7101         * gst/gstminiobject.c:
7102         * gst/gstvalue.h:
7103           docs now stop throwing warnings
7104
7105 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7106
7107         * docs/gst/gstreamer-sections.txt:
7108         * docs/gst/gstreamer.types:
7109         * docs/gst/tmpl/gstpad.sgml:
7110         * docs/gst/tmpl/gsttypes.sgml:
7111         * gst/base/gstadapter.h:
7112         * gst/base/gstbasesink.h:
7113         * gst/base/gstbasesrc.h:
7114         * gst/gstbin.h:
7115         * gst/gstbuffer.h:
7116         * gst/gstbus.h:
7117         * gst/gstcaps.h:
7118         * gst/gstclock.h:
7119         * gst/gstelement.h:
7120         * gst/gstevent.h:
7121         * gst/gstmessage.h:
7122         * gst/gstpad.h:
7123         * gst/gststructure.c:
7124         * gst/registries/gstlibxmlregistry.h:
7125           various documentation fixes
7126
7127 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7128
7129         * docs/gst/gstreamer-sections.txt:
7130         * docs/gst/tmpl/gstvalue.sgml:
7131           rearrange gstvalue section
7132         * gst/gstutils.c: (gst_element_state_get_name):
7133           NONE -> VOID
7134         * gst/gstvalue.c: (_gst_value_initialize):
7135         * gst/gstvalue.h:
7136           doc updates
7137
7138 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7139
7140         * check/gst-libs/controller.c:
7141           Header include fix.
7142         * gst/base/gstbasetransform.c:
7143         (gst_base_transform_default_prepare_buf),
7144         (gst_base_transform_handle_buffer):
7145         * gst/base/gstbasetransform.h:
7146           Some more basetransform changes and fixes to enable sub-classes
7147           that modify buffer metadata only.
7148         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7149         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7150         (gst_capsfilter_prepare_buf):
7151           If the output pad has fixed allowed caps and input buffers 
7152           don't have any, set the fixed caps on outgoing buffers.
7153
7154 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7155         * check/elements/identity.c: (GST_START_TEST):
7156           Make the error a little clearer when the test fails because
7157           identity made a copy of the buffer.
7158         * docs/gst/gstreamer-sections.txt:
7159           New symbols in gstbasetransform.h
7160         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7161         (gst_base_transform_init), (gst_base_transform_transform_size),
7162         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7163         (gst_base_transform_default_prepare_buf),
7164         (gst_base_transform_get_unit_size),
7165         (gst_base_transform_buffer_alloc),
7166         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7167         (gst_base_transform_change_state),
7168         (gst_base_transform_set_passthrough),
7169         (gst_base_transform_set_in_place),
7170         (gst_base_transform_is_in_place):
7171         * gst/base/gstbasetransform.h:
7172           Change BaseTransform to separate in_place operate from same_caps
7173           output. in_place implies that the element can perform the transform
7174           on incoming buffers in-place, even if the caps on the output are
7175           different.
7176           Sub-class elements can now implement special buffer allocation
7177           methods for outgoing buffers if they wish to.
7178           Big documentation addition.
7179         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7180         * gst/elements/gstelements.c:
7181           Changes for basetransform modifications.
7182         * gst/elements/Makefile.am:
7183         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7184           Compile fix. Extra debug output.
7185
7186 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7187
7188         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7189         (gst_pad_suite):
7190           add tests for valid pad naming
7191         * gst/check/gstcheck.c: (gst_check_log_message_func),
7192         (gst_check_log_critical_func):
7193           add ASSERT_WARNING
7194           remove printing of code, it is fragile when the code contains
7195           % and the line number is enough info
7196         * gst/check/gstcheck.h:
7197         * gst/gstpad.c: (gst_pad_template_new):
7198           fix memleaks
7199
7200 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7201
7202         * configure.ac:
7203           say what CHECK flags we use
7204         * docs/libs/gstreamer-libs.types:
7205         * libs/gst/controller/Makefile.am:
7206         * libs/gst/controller/gst-controller.c:
7207         * libs/gst/controller/gst-controller.h:
7208         * libs/gst/controller/gst-helper.c:
7209         * libs/gst/controller/gst-interpolation.c:
7210         * libs/gst/controller/gstcontroller.c:
7211         * libs/gst/controller/gsthelper.c:
7212         * libs/gst/controller/gstinterpolation.c:
7213         * tools/gst-inspect.c: (print_plugin_info):
7214           we don't use dashes in header names
7215
7216 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7217
7218         * check/Makefile.am:
7219         * check/gst/.cvsignore:
7220         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7221         (gst_pipeline_suite), (main):
7222           adding a test for pipelines and state changes
7223         * gst/gstutils.c: (get_state_func):
7224           add some debugging
7225         * gstreamer.spec.in:
7226           fix up spec file
7227
7228 2005-09-08  Michael Smith <msmith@fluendo.com>
7229
7230         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7231         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7232         (gst_file_src_is_seekable), (gst_file_src_get_size),
7233         (gst_file_src_start):
7234         * gst/elements/gstfilesrc.h:
7235           Various fixes for unseekable, unmmapable, and non-normal files, so
7236           that fallback to read() rather than mmap() works.
7237         * gst/gstevent.c: (gst_event_new_newsegment):
7238           Allow newsegment events with segment_start == segment_end, as will
7239           correctly happen if you use filesrc on a zero-size file, for
7240           example.
7241
7242 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7243
7244         * gst/gstplugin.c: (gst_plugin_load_file):
7245           Call g_module_close when we don't load the module
7246
7247         * gst/registries/gstlibxmlregistry.c:
7248         (gst_xml_registry_get_property):
7249           Port leak fix from 0.8
7250
7251 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7252
7253         * docs/gst/gstreamer-docs.sgml:
7254         * docs/gst/tmpl/.cvsignore:
7255         * docs/gst/tmpl/gsttrace.sgml:
7256         * docs/gst/tmpl/gsttrashstack.sgml:
7257         * gst/Makefile.am:
7258         * gst/gst.h:
7259         * gst/gstelement.h:
7260         * gst/gstevent.h:
7261         * gst/gstmessage.c:
7262         * gst/gstmessage.h:
7263         * gst/gsttag.c:
7264         * gst/gsttag.h:
7265         * gst/gsttaginterface.c:
7266         * gst/gsttaginterface.h:
7267         * gst/gsttaglist.c:
7268         * gst/gsttaglist.h:
7269         * gst/gsttagsetter.c:
7270         * gst/gsttagsetter.h:
7271         * gst/gsttrace.c:
7272         * gst/gsttrace.h:
7273         * gst/gsttrashstack.c:
7274           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7275           inlined docs for gsttrace, gsttrashstack
7276
7277 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7278
7279         * gst/Makefile.am:
7280         * gst/elements/gstbufferstore.h:
7281         * gst/elements/gsttypefindelement.c:
7282         * gst/elements/gsttypefindelement.h:
7283         * gst/gst.h:
7284         * gst/gsttypefind.c:
7285         * gst/gsttypefind.h:
7286         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7287         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7288         (gst_type_find_factory_dispose),
7289         (gst_type_find_factory_unload_thyself),
7290         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7291         (gst_type_find_factory_get_caps),
7292         (gst_type_find_factory_get_extensions),
7293         (gst_type_find_factory_call_function):
7294         * gst/gsttypefindfactory.h:
7295         * gst/registries/gstlibxmlregistry.c:
7296         * gst/registries/gstxmlregistry.c:
7297           splitted gsttypefind into gsttypefind, gsttypefindfactory
7298
7299 2005-09-07  Andy Wingo  <wingo@pobox.com>
7300
7301         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7302         condition whereby the pad's task function is entered before the
7303         pad_mode variable was set.
7304
7305 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7306
7307         * gst/gstpad.c: (gst_pad_alloc_buffer):
7308           Catch misbehaving pad_alloc functions that don't
7309           set up caps and do it for them.
7310
7311 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7312
7313         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7314           test for pipe!=NULL
7315         * docs/gst/tmpl/.cvsignore:
7316         * docs/gst/tmpl/gstmemchunk.sgml:
7317         * docs/gst/tmpl/gstparse.sgml:
7318         * docs/gst/tmpl/gsttaglist.sgml:
7319         * docs/gst/tmpl/gsttagsetter.sgml:
7320         * docs/gst/tmpl/gsttypefind.sgml:
7321         * docs/gst/tmpl/gsttypefindfactory.sgml:
7322         * gst/gstmemchunk.c:
7323         * gst/gstparse.c:
7324         * gst/gsttag.c:
7325         * gst/gsttaginterface.c:
7326         * gst/gsttypefind.c:
7327         * gst/gsttypefind.h:
7328           inlined more docs
7329
7330 === release 0.9.2 ===
7331
7332 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7333
7334         * NEWS:
7335         * RELEASE:
7336         * configure.ac:
7337           releasing 0.9.2, "South"
7338
7339 2005-09-05  Andy Wingo  <wingo@pobox.com>
7340
7341         * gst/registries/gstxmlregistry.h:
7342         * gst/registries/gstxmlregistry.c: Um... resurrect...
7343         
7344         * gst/registries/gstxmlregistry.h:
7345         * gst/registries/gstxmlregistry.c: and update to newer API.
7346         Incidentally they should be a bit faster now that they don't have
7347         to parse the caps.
7348         
7349 2005-09-05  Andy Wingo  <wingo@pobox.com>
7350
7351         * gst/registries/gstxmlregistry.h:
7352         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7353         replaced by the libxml registry a while back
7354
7355 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7356
7357         * docs/gst/tmpl/gstplugin.sgml:
7358         * gst/elements/gstelements.c:
7359         * gst/gst.c:
7360         * gst/gstplugin.c: (gst_plugin_register_func),
7361         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7362         (gst_plugin_get_source):
7363         * gst/gstplugin.h:
7364         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7365         (gst_xml_registry_save_plugin):
7366         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7367         (gst_xml_registry_save_plugin):
7368         * tools/gst-inspect.c: (print_plugin_info):
7369           add a "source" plugin description field, to represent the source
7370           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7371           will set it to PACKAGE, which is automake's idea of the name of
7372           the source project.
7373
7374 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         * Makefile.am:
7377         * autogen.sh:
7378         * configure.ac:
7379         * docs/Makefile.am:
7380         * docs/faq/Makefile.am:
7381         * docs/gst/tmpl/gstelement.sgml:
7382         * docs/gst/tmpl/gsttypes.sgml:
7383         * docs/htmlinstall.mak:
7384         * docs/manual/Makefile.am:
7385         * docs/pwg/Makefile.am:
7386           reorganize doc build a little
7387           split out docbook and gtk-doc stuff
7388           have two separate --enable's and enable them through autogen
7389           but disable by default in configure (to be similar to other
7390           projects)
7391         * gstreamer.spec.in:
7392           clean up docs install
7393         * po/af.po:
7394         * po/az.po:
7395         * po/ca.po:
7396         * po/cs.po:
7397         * po/de.po:
7398         * po/en_GB.po:
7399         * po/fr.po:
7400         * po/it.po:
7401         * po/nb.po:
7402         * po/nl.po:
7403         * po/ru.po:
7404         * po/sq.po:
7405         * po/sr.po:
7406         * po/sv.po:
7407         * po/tr.po:
7408         * po/uk.po:
7409         * po/vi.po:
7410           translation updates
7411
7412 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7413
7414         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7415           Add comment.
7416           
7417         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7418         (gst_fake_sink_change_state):
7419           Make state change function thread-safe.
7420           
7421         * gst/gstpad.c: (gst_pad_alloc_buffer):
7422           Set offset on generic buffer allocated by fallback.
7423
7424 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7425
7426         * docs/gst/gstreamer-sections.txt:
7427         * docs/gst/tmpl/gstelement.sgml:
7428         * gst/gstpad.c:
7429         * libs/gst/controller/gst-controller.c:
7430         (gst_controlled_property_set_interpolation_mode),
7431         (gst_controlled_property_new),
7432         (gst_controller_find_controlled_property):
7433          run the wingo-magic script against the docs
7434
7435 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7436
7437         * docs/gst/gstreamer-docs.sgml:
7438         * docs/gst/gstreamer-sections.txt:
7439         * docs/gst/tmpl/.cvsignore:
7440         * docs/gst/tmpl/gstelementdetails.sgml:
7441         * docs/gst/tmpl/gstelementfactory.sgml:
7442         * gst/gst.c:
7443         * gst/gstbus.c:
7444         * gst/gstelementfactory.c:
7445         * gst/gstelementfactory.h:
7446           merged elementdetails docs into elementfactory docs
7447           inlined both
7448
7449 2005-09-02  Andy Wingo  <wingo@pobox.com>
7450
7451         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7452         consider this enum an enum and not a flags.
7453
7454 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7455
7456         * docs/gst/gstreamer-docs.sgml:
7457         * docs/gst/tmpl/.cvsignore:
7458         * docs/gst/tmpl/gstghostpad.sgml:
7459         * docs/gst/tmpl/gstiterator.sgml:
7460         * docs/gst/tmpl/gstmacros.sgml:
7461         * docs/gst/tmpl/gstrealpad.sgml:
7462         * docs/gst/tmpl/gstregistry.sgml:
7463         * docs/gst/tmpl/gstregistrypool.sgml:
7464         * docs/gst/tmpl/gststructure.sgml:
7465         * docs/gst/tmpl/gstsystemclock.sgml:
7466         * docs/gst/tmpl/gsttrace.sgml:
7467         * gst/gstghostpad.c:
7468         * gst/gstmacros.h:
7469         * gst/gstmemchunk.c:
7470         * gst/gstmemchunk.h:
7471         * gst/gstqueue.c:
7472         * gst/gstregistry.c:
7473         * gst/gstregistrypool.c:
7474         * gst/gststructure.c:
7475         * gst/gstsystemclock.c:
7476           more docs inlined
7477
7478 2005-09-02  Andy Wingo  <wingo@pobox.com>
7479
7480         * gst/gstelement.h (GstState): Renamed from GstElementState,
7481         changed to be a normal enum instead of flags.
7482         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7483         munged to be GST_STATE_CHANGE_*.
7484         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7485         work with the new state representation.
7486         (GstStateChange): New enumeration of possible state transitions.
7487         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7488         (GstElementClass::change_state): Pass the GstStateChange along as
7489         an argument. Helps language bindings, so they don't have to use
7490         tricky lock-needing macros like GST_STATE_CHANGE ().
7491
7492         * scripts/update-states (file): New script. Run it on a file to
7493         update it for state naming and API changes. Updates files in
7494         place.
7495
7496         * All files updated for the new API.
7497
7498 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7499
7500         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7501         * gst/gstutils.c: (gst_util_set_value_from_string),
7502         (gst_util_set_object_arg):
7503           fix a bunch of unchecked return values
7504         * tools/gst-complete.c: (main):
7505         * gstreamer.spec.in:
7506           clean up a little
7507
7508 2005-09-01  Wim Taymans  <wim@fluendo.com>
7509
7510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7511         (gst_base_sink_event), (gst_base_sink_do_sync),
7512         (gst_base_sink_handle_event):
7513         * gst/base/gstbasesink.h:
7514         Handle newsegments more correctly.
7515
7516         * gst/gstbus.c:
7517         Fix docs.
7518
7519         * gst/gstevent.c: (gst_event_new_newsegment):
7520         A newsegment cannot have a start_time of -1
7521
7522 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7523
7524         * win32/gstenumtypes.c:
7525         * win32/gstenumtypes.h:
7526           Update
7527
7528 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7529
7530         * libs/gst/controller/gst-controller.c:
7531         (gst_controlled_property_set_interpolation_mode),
7532         (gst_controlled_property_new):
7533          fixed boolean again
7534
7535 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7536
7537         * docs/faq/gst-uninstalled:
7538           add -good
7539         * gst/gstevent.c:
7540         * gst/gstevent.h:
7541           remove wrong docs
7542         * gst/gstutils.c: (gst_element_link_filtered):
7543         * gst/gstutils.h:
7544           add gst_element_link_filtered
7545
7546 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7547
7548         * docs/gst/gstreamer-docs.sgml:
7549         * docs/gst/gstreamer-sections.txt:
7550         * docs/gst/tmpl/.cvsignore:
7551         * docs/gst/tmpl/gsterror.sgml:
7552         * docs/gst/tmpl/gstfilter.sgml:
7553         * docs/gst/tmpl/gsturihandler.sgml:
7554         * docs/gst/tmpl/gsturitype.sgml:
7555         * docs/gst/tmpl/gstutils.sgml:
7556         * docs/gst/tmpl/gstxml.sgml:
7557         * gst/gsterror.c:
7558         * gst/gsterror.h:
7559         * gst/gstfilter.c:
7560         * gst/gsturi.c:
7561         * gst/gsturitype.c:
7562         * gst/gstutils.c:
7563         * gst/gstxml.c:
7564           inlined more docs, fixed double id-ref
7565
7566 2005-08-31  Wim Taymans  <wim@fluendo.com>
7567
7568         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7569         (gst_base_transform_handle_buffer):
7570         Passthrough elements don't need the caps as they don't care.
7571
7572 2005-08-31  Wim Taymans  <wim@fluendo.com>
7573
7574         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7575         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7576         Don't leak refcounts on buffers.
7577
7578 2005-08-31  Wim Taymans  <wim@fluendo.com>
7579
7580         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7581         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7582         (gst_base_transform_chain), (gst_base_transform_change_state):
7583         * gst/base/gstbasetransform.h:
7584         Handle the case where we are not negotiated more gracefully.
7585
7586 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7587
7588         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7589         (gst_file_src_map_region):
7590           Set READONLY flag on mmap'ed buffers, otherwise
7591           gst_buffer_make_writable() won't work properly (#314708).
7592
7593 2005-08-31  Wim Taymans  <wim@fluendo.com>
7594
7595         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7596         passthrough elements can even do inplace on non writable
7597         buffers (as they don't touch them).
7598
7599 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7600
7601         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7602         (gst_test_mono_source_set_property),
7603         (gst_test_mono_source_class_init), (GST_START_TEST),
7604         (gst_controller_suite):
7605           more tests (hehe I have the most)
7606         * gst/gstbus.c:
7607           describe popping messages whenusing mulltiple sources
7608         * libs/gst/controller/gst-controller.c:
7609         (gst_controlled_property_set_interpolation_mode),
7610         (gst_controlled_property_new):
7611         * libs/gst/controller/gst-controller.h:
7612         * libs/gst/controller/gst-interpolation.c:
7613           implement boolean properties
7614
7615 2005-08-31  Wim Taymans  <wim@fluendo.com>
7616
7617         * gst/gstminiobject.c: (gst_mini_object_ref):
7618         Cannot assert that the refcount has to be positive
7619         since a disposed object can be resurrected.
7620
7621 2005-08-31  Wim Taymans  <wim@fluendo.com>
7622
7623         * gst/gstpad.c: (gst_pad_init):
7624         Revert change, need to first fix badly behaving 
7625         apps.
7626
7627 2005-08-30  Wim Taymans  <wim@fluendo.com>
7628
7629         * check/elements/fakesrc.c: (setup_fakesrc):
7630         * check/elements/identity.c: (setup_identity):
7631         Activate pads before using them.
7632
7633 2005-08-30  Wim Taymans  <wim@fluendo.com>
7634
7635         * gst/base/gstadapter.c: (gst_adapter_flush):
7636         Flushing out 0 bytes is ok for this function.
7637
7638         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7639         no newsegment gives a warning and sets the start/stop to 
7640         invalid.
7641
7642         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7643         (gst_base_transform_set_passthrough):
7644         Some debug info.
7645
7646         * gst/gstminiobject.c: (gst_mini_object_ref):
7647         Check refcount here too.
7648
7649         * gst/gstpad.c: (gst_pad_init):
7650         Pads are initially flushing and refusing data.
7651
7652         * gst/gstutils.c: (gst_element_link_pads_filtered):
7653         When adding a capsfilter element make sure it has the
7654         same state as the parent bin.
7655
7656 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7657
7658         * docs/gst/tmpl/.cvsignore:
7659         * docs/gst/tmpl/gstformat.sgml:
7660         * docs/gst/tmpl/gstversion.sgml:
7661         * gst/gstbus.h:
7662         * gst/gstformat.c:
7663         * gst/gstformat.h:
7664         * gst/gstversion.h.in:
7665           more docs and two more inlined
7666
7667 2005-08-30  Wim Taymans  <wim@fluendo.com>
7668
7669         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7670         Don't sync to clock.
7671
7672 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7673
7674         * docs/gst/gstreamer-sections.txt:
7675           ultral33t func10ns deserve to appear in the docs actually
7676         * docs/gst/tmpl/.cvsignore:
7677         * docs/gst/tmpl/gstcompat.sgml:
7678         * docs/gst/tmpl/gstconfig.sgml:
7679         * gst/check/gstcheck.c:
7680         * gst/gstcompat.h:
7681         * gst/gstconfig.h.in:
7682           inlined more docs
7683
7684 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7685
7686         * docs/gst/tmpl/.cvsignore:
7687         * docs/gst/tmpl/gstquery.sgml:
7688         * docs/gst/tmpl/gstutils.sgml:
7689         * gst/gstquery.c:
7690         * gst/gstquery.h:
7691           inlined and extended docs
7692
7693 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7694
7695         * check/gst-libs/controller.c: (GST_START_TEST),
7696         (gst_controller_suite):
7697           more tests
7698         * docs/gst/tmpl/gstutils.sgml:
7699         * docs/libs/gstreamer-libs-sections.txt:
7700         * docs/libs/tmpl/gstdataprotocol.sgml:
7701           include path fixes
7702         * examples/controller/audio-example.c: (main):
7703           controller example works now
7704         * gst/gstclock.h:
7705           doc fixes
7706         * tools/gst-inspect.c: (print_element_properties_info):
7707           show param spec flags
7708
7709 2005-08-29  Andy Wingo  <wingo@pobox.com>
7710
7711         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7712
7713 2005-08-28  Andy Wingo  <wingo@pobox.com>
7714
7715         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7716         as having two arguments instead of just one. Allows superclasses
7717         to access information on subclasses -- see the terrible for() loop
7718         in gtype.c:g_type_create_instance for the reason why. All callers
7719         changed.
7720
7721 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7722
7723         * docs/design/part-messages.txt:
7724           update info
7725         * docs/gst/tmpl/.cvsignore:
7726         * docs/gst/tmpl/gstcaps.sgml:
7727         * docs/gst/tmpl/gstclock.sgml:
7728         * gst/gstbus.c:
7729         * gst/gstcaps.c:
7730         * gst/gstcaps.h:
7731         * gst/gstclock.c:
7732         * gst/gstclock.h:
7733         * gst/gstmessage.c:
7734           added descriptions for bus and message
7735           inline caps and clock docs
7736
7737 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7738
7739         * gst/gstmessage.c:
7740         * gst/gstmessage.h:
7741           doc fixes
7742
7743 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7744
7745         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7746           fix div-by-zero
7747
7748 2005-08-26  Andy Wingo  <wingo@pobox.com>
7749
7750         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7751         element_set_state's return val.
7752         (test_2_elements): Add test that's been disabled for months.
7753
7754         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7755         can-activate-pull properties.
7756
7757         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7758         can-activate-pull properties. Implement is_seekable so fakesrc can
7759         operate in pull mode.
7760
7761         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7762         properties.
7763         (gst_base_sink_activate, gst_base_sink_activate_pull)
7764         (gst_base_sink_activate_push): Make activation mode choosing work.
7765         Cleanups.
7766         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7767         is right. Make pull mode work. Post an eos before pausing in pull
7768         mode.
7769         (gst_base_sink_change_state): Pay attention to the core's
7770         change_state() return val.
7771         
7772         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7773         has-getrange properties. Cleanups.
7774         
7775         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7776         has_getrange and replace with can_activate_pull and
7777         can_activate_push.
7778
7779         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7780         locking comments. Remove has_loop, has_chain and replace with
7781         can_activate_pull and can_activate_push.
7782
7783 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7784
7785         * configure.ac:
7786         * examples/Makefile.am:
7787         * examples/metadata/Makefile.am:
7788         * examples/metadata/read-metadata.c: (message_loop),
7789         (have_pad_handler), (make_pipeline), (print_tag), (main):
7790           Add metadata reading example that loops over a list of filenames,
7791           dumping any tags found.
7792
7793         * gst/gstbus.c: (gst_bus_dispose):
7794         * gst/gstelement.c: (gst_element_dispose):
7795           Release a few potentially-held references in dispose.
7796
7797 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7798
7799         * docs/gst/tmpl/gstminiobject.sgml:
7800           do *not* add tmpl/*.sgml files to CVS!
7801
7802 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * libs/gst/bytestream/.cvsignore:
7805         * libs/gst/bytestream/Makefile.am:
7806         * libs/gst/bytestream/adapter.c:
7807         * libs/gst/bytestream/adapter.h:
7808         * libs/gst/bytestream/bytestream.c:
7809         * libs/gst/bytestream/bytestream.h:
7810         * libs/gst/bytestream/filepad.c:
7811         * libs/gst/bytestream/filepad.h:
7812           removing obsolete files
7813
7814 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7815
7816         * docs/gst/gstreamer-docs.sgml:
7817         * docs/libs/gstreamer-libs-docs.sgml:
7818           disabed additional index entries again, as this makes docs-gen just
7819           slow and they aren't useful yet
7820         * docs/libs/gstreamer-libs-sections.txt:
7821           little -section.txt cleanup for libs
7822
7823 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7824
7825         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7826         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7827           fix up some debugging
7828         (gst_base_transform_get_unit_size),
7829         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7830         (gst_base_transform_handle_buffer):
7831         * gst/base/gstbasetransform.h:
7832           handle and store timed NEWSEGMENT events so that subclasses that
7833           calculate time by counting samples have a segment_start time they
7834           need to add to their timestamps - see audioresample
7835
7836 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7837
7838         * gst/gstbin.h:
7839           removed ';' from the end of macro defs
7840         * docs/gst/gstreamer-docs.sgml:
7841         * docs/gst/gstreamer-sections.txt:
7842         * docs/gst/tmpl/.cvsignore:
7843         * gst/gstbus.h:
7844         * gst/gstelement.c: (gst_element_class_init),
7845         (gst_element_set_state), (activate_pads),
7846         (gst_element_save_thyself):
7847         * gst/gstevent.c: (gst_event_new_newsegment):
7848         * gst/gstevent.h:
7849         * gst/gstiterator.c:
7850         * gst/gstiterator.h:
7851         * gst/gstpad.c:
7852         * gst/gstprobe.h:
7853         * gst/gstutils.c: (gst_pad_query_convert):
7854         * gst/gstutils.h:
7855           fixed parameter name mismatches between source, header and docs
7856           added some more docs, resolved the last batch of unused elements in
7857           docs (now someone needs to doc them)
7858
7859 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7860
7861         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7862         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7863           don't walk through the plugins backwards.  Where is all this
7864           reversed logic coming from ?
7865
7866 2005-08-25  Wim Taymans  <wim@fluendo.com>
7867
7868         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7869         (gst_base_transform_transform_size),
7870         (gst_base_transform_configure_caps),
7871         (gst_base_transform_get_unit_size),
7872         (gst_base_transform_buffer_alloc),
7873         (gst_base_transform_change_state):
7874         * gst/base/gstbasetransform.h:
7875         Cache caps unit_size.
7876         Make sure we cannot negotiate up and downstream at the
7877         same time.
7878
7879 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * gst/gst.c: (init_pre), (init_post):
7882           register the installed plugin path after the env var
7883         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7884         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7885           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7886           directories, so the tests can prefer uninstalled over installed
7887
7888 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7889
7890         * gst/base/gstbasetransform.h:
7891           comment
7892         * gst/gstpad.c:
7893           add to docs
7894
7895 2005-08-25  Wim Taymans  <wim@fluendo.com>
7896
7897         * gst/gstbin.c: (bin_bus_handler):
7898         Be a bit more conservative about the posted message.
7899         
7900         * gst/gstbus.c: (gst_bus_post):
7901         Some cleanups, warn wrong return values.
7902
7903 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7904
7905         * check/gst/gstbin.c: (GST_START_TEST):
7906         * gst/gstbin.c: (bin_bus_handler):
7907         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7908         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7909         (gst_message_new_warning), (gst_message_new_tag),
7910         (gst_message_new_state_changed), (gst_message_new_segment_start),
7911         (gst_message_new_segment_done), (gst_message_new_custom):
7912         * gst/gstmessage.h:
7913         * tools/gst-launch.c: (event_loop):
7914         * tools/gst-md5sum.c: (event_loop):
7915           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7916
7917 2005-08-25  Wim Taymans  <wim@fluendo.com>
7918
7919         * check/generic/states.c: (GST_START_TEST):
7920         Cleanup can be done at the end.
7921
7922         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7923         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7924         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7925         Oh boy.. Thanks for finding this, Thomas. 
7926
7927 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7928
7929         * docs/gst/gstreamer.types:
7930           added missing types
7931
7932 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7933
7934         * docs/gst/gstreamer-docs.sgml:
7935         * docs/gst/gstreamer-sections.txt:
7936         * docs/gst/tmpl/.cvsignore:
7937         * gst/gstbin.c:
7938         * gst/gstiterator.c:
7939         * gst/gstutils.c:
7940         * gst/registries/gstxmlregistry.h:
7941           added missing classes and symbols (123 more to go)
7942           removed removed symbols from section file
7943           fixed many doc-comments
7944
7945 2005-08-24  Wim Taymans  <wim@fluendo.com>
7946
7947         * check/generic/states.c: (GST_START_TEST):
7948         Make sure all tasks are stopped.
7949
7950         * check/gst/gstbin.c: (GST_START_TEST):
7951         Unref after usage for proper valgrinding.
7952
7953         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7954         Really wait for the task to stop before destroying the
7955         mutex.
7956
7957         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7958         (gst_queue_src_activate_push):
7959         Small cleanups. Don't stop the task when we did not start
7960         it.
7961
7962         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7963         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7964         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7965         (gst_task_join):
7966         * gst/gsttask.h:
7967         Protect the stream lock with the object lock.
7968         Disallow setting the stream lock when running.
7969         Add cleanup_all to wait for the threadpool to finish.
7970         Remove code to autoallocate a mutex if none was provided.
7971         Add _join() to wait for a task to stop.
7972         Protect the thread pool with a global lock.
7973
7974 2005-08-24  Wim Taymans  <wim@fluendo.com>
7975
7976         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7977         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7978         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7979         * gst/base/gstbasesink.h:
7980         Handle newsegment events correctly.
7981         Drop buffers out of the segment range.
7982
7983 2005-08-22  Andy Wingo  <wingo@pobox.com>
7984
7985         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7986         macro, implements an interface and gstimplementsinterface for a
7987         new type.
7988
7989 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7990
7991         * check/Makefile.am:
7992         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7993           add a test that does a bunch of state changes on elements
7994           needs some fixing for valgrind
7995         * check/states/sinks.c: (gst_object_suite):
7996           whitespace
7997         * gst/gstcaps.h:
7998           add prototype for gst_caps_is_equal_fixed
7999         * gst/gstplugin.c:
8000         * gst/gstregistrypool.c:
8001           doc fixes
8002
8003 2005-08-24  Andy Wingo  <wingo@pobox.com>
8004
8005         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8006         convert a negative value. Doesn't make much sense. Mostly this is
8007         here to force callers to ensure -1 maps to -1.
8008
8009 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8010
8011         * docs/pwg/advanced-types.xml:
8012           Well done to Michael for catching my deliberate introduction
8013           of this spelling mistake. 
8014         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8015         * gst/gstelement.h:
8016           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8017           unlink pads before removing the element from the bin.
8018
8019 2005-08-24  Andy Wingo  <wingo@pobox.com>
8020
8021         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8022         the same thing as GST_DEBUG=*:4.
8023         (parse_debug_level, parse_debug_category): New helper parsers.
8024
8025 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8026
8027         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8028         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8029         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8030         (gst_base_transform_buffer_alloc),
8031         (gst_base_transform_handle_buffer):
8032           use gboolean return values and pointers to size so we can use the
8033           full GST_BUFFER_SIZE range (guint) for buffer sizes
8034           use GstPadDirection for transform_caps
8035         * gst/base/gstbasetransform.h:
8036           rename get_size to get_unit_size since that's what it is
8037         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8038           use GstPadDirection for transform_caps
8039         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8040         * gst/gstutils.h:
8041           cleanup and debugging
8042
8043 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8044
8045         * gst/gstelement.c: (gst_element_class_init),
8046         (gst_element_set_state), (activate_pads),
8047         (gst_element_save_thyself):
8048         * tools/gst-compprep.c: (main):
8049         * tools/gst-inspect.c: (print_element_properties_info):
8050         * tools/gst-xmlinspect.c: (print_element_properties):
8051           Fixed long standing mem-leak
8052
8053 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8054
8055         * check/gst/gstbin.c: (GST_START_TEST):
8056         * gst/gstbin.c: (bin_bus_handler):
8057         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8058         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8059         (gst_message_new_warning), (gst_message_new_tag),
8060         (gst_message_new_state_changed), (gst_message_new_segment_start),
8061         (gst_message_new_segment_done), (gst_message_new_custom):
8062         * gst/gstmessage.h:
8063         * tools/gst-launch.c: (event_loop):
8064         * tools/gst-md5sum.c: (event_loop):
8065           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8066           that applications can sensibly post custom messages with references
8067           to their own objects.
8068
8069 2005-08-24  Andy Wingo  <wingo@pobox.com>
8070
8071         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8072         already.
8073
8074 2005-08-24  Wim Taymans  <wim@fluendo.com>
8075
8076         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8077         (gst_base_transform_transform_caps),
8078         (gst_base_transform_transform_size),
8079         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8080         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8081         (gst_base_transform_handle_buffer):
8082         * gst/base/gstbasetransform.h:
8083         Many fixes and new features added by Thomas. Can now also do
8084         transforms with variable sizes and a custom fixate_caps function.
8085
8086 2005-08-24  Wim Taymans  <wim@fluendo.com>
8087
8088         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8089         Some debugging.
8090
8091         * gst/gstclock.h:
8092         Cast to ClockTime before formatting to time.
8093
8094         * gst/gstutils.h:
8095         Cleanups.
8096
8097 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8098
8099         * check/gst-libs/controller.c: (GST_START_TEST),
8100         (gst_controller_suite):
8101         * docs/gst/tmpl/gstcaps.sgml:
8102         * docs/gst/tmpl/gstghostpad.sgml:
8103         * docs/gst/tmpl/gstquery.sgml:
8104         * docs/gst/tmpl/gstutils.sgml:
8105         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8106         (gst_object_sink_values), (gst_object_get_value_arrays),
8107         (gst_object_get_value_array):
8108           gracefully handle helper method calls to objects that are not beeing
8109           controlled, added test case for that          
8110
8111 2005-08-23  Wim Taymans  <wim@fluendo.com>
8112
8113         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8114         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8115         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8116         (gst_event_parse_qos), (gst_event_new_seek),
8117         (gst_event_parse_seek):
8118         * gst/gstevent.h:
8119         Some more debugging output and doc cleanups.
8120
8121         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8122         Fix possible deadlock.
8123
8124 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8125
8126         * docs/gst/gstreamer-docs.sgml:
8127         * docs/gst/gstreamer-sections.txt:
8128         * docs/gst/gstreamer.types:
8129         * docs/gst/tmpl/.cvsignore:
8130         * gst/gstbin.h:
8131         * gst/gstbus.c:
8132         * gst/gstelement.c:
8133         * gst/gstevent.h:
8134           added 100 symbols from gstreamer-unused.txt to the right sections
8135           fixed more broken comments
8136           added GstBus to docs
8137
8138 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8139
8140         * docs/gst/gstreamer-sections.txt:
8141         * docs/gst/tmpl/.cvsignore:
8142         * docs/gst/tmpl/gstbin.sgml:
8143         * docs/gst/tmpl/gstbuffer.sgml:
8144         * gst/base/gstbasesrc.c:
8145         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8146         * gst/gstbuffer.c:
8147         * gst/gstbuffer.h:
8148         * tools/gst-launch.1.in:
8149           inlined more doc comments, added missing comments and fixed comments
8150           fixed typos
8151
8152 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8153
8154         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8155           some debugging
8156         * gst/gstcaps.h:
8157           whitespace fixes
8158         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8159           more debugging
8160         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8161         * gst/gststructure.h:
8162           add a fixate function for booleans; add a FIXME that these func
8163           names should probably be gst_structure_fixate_*
8164
8165 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8166
8167         * docs/gst/gstreamer-docs.sgml:
8168         * docs/gst/gstreamer-sections.txt:
8169         * gst/Makefile.am:
8170         * gst/gstbin.c: (gst_bin_get_type),
8171         (gst_bin_child_proxy_get_child_by_index),
8172         (gst_bin_child_proxy_get_children_count),
8173         (gst_bin_child_proxy_init):
8174         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8175         (gst_child_proxy_get_child_by_index),
8176         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8177         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8178         (gst_child_proxy_get), (gst_child_proxy_set_property),
8179         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8180         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8181         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8182         * gst/gstchildproxy.h:
8183         * gst/parse/grammar.y:
8184         * tools/gst-inspect.c: (print_interfaces),
8185         (print_element_properties_info), (print_element_info):
8186           ported gstchildproxy over from 0.8
8187           ported gst-inspect fixes and enhancements over from 0.8
8188
8189 2005-08-22  Wim Taymans  <wim@fluendo.com>
8190
8191         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8192         (gst_base_transform_handle_buffer):
8193         Also call the transform function if we have ANY caps.
8194
8195         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8196         Fix debug info.
8197
8198 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8199
8200         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8201           Don't pretend to handle seek events if the source is not seekable
8202
8203 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8204
8205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8206           Remove extra parameter to debug output
8207
8208         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8209         (gst_base_src_do_seek), (gst_base_src_activate_push):
8210           Fix seek event handling.
8211
8212         * gst/gstpipeline.c: (gst_pipeline_change_state):
8213         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8214         (gst_queue_src_activate_push):
8215           Don't start the src pad task on FLUSH_STOP if the pad
8216           isn't linked.
8217           Debug changes.
8218
8219 2005-08-22  Wim Taymans  <wim@fluendo.com>
8220
8221         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8222         Added check for gst_static_caps_get() refcounting.
8223
8224 2005-08-22  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8227         Make _static_caps_get() refcounting sane.
8228         
8229         * gst/gstelement.c: (gst_element_set_state):
8230         Add g_return_val_if_fail() to protect against segfaults.
8231
8232 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8233
8234         * docs/gst/tmpl/gstevent.sgml:
8235         * gst/gstevent.c:
8236         * gst/gstevent.h:
8237           inlined remaining docs, added missing doc comments
8238
8239 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8240
8241         * check/gst/gstbin.c: (GST_START_TEST):
8242           since we don't know when preroll is done, use refcount range
8243           check for the sink
8244         * gst/check/gstcheck.h:
8245           add macro for checking refcount range
8246
8247 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8248
8249         * check/Makefile.am:
8250           clean up environment for when registry gets built versus
8251           when actual tests are run; valgrind seems to not report
8252           leaks if GST_PLUGIN_PATH is set to some specific values
8253         * check/gst/gstbin.c: (GST_START_TEST):
8254           add more refcounting checks; maybe this exposes a
8255           preroll lock bug ?
8256         * common/check.mak:
8257         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8258         * gst/check/gstcheck.h:
8259         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8260         (gst_bin_change_state):
8261         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8262           add/fix debugging/whitespace
8263
8264 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8265
8266         * check/gst/gstevent.c: (event_probe), (test_event),
8267         (GST_START_TEST):
8268          Er, don't call gst_bin_watch_for_state_change you idiot.
8269
8270 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8271
8272         * check/Makefile.am:
8273           Use CHECK_CFLAGS and CHECK_LIBS
8274         * check/gst/gstevent.c: (event_probe), (test_event),
8275         (GST_START_TEST):
8276           Don't leak events.
8277         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8278         (gst_base_src_start), (gst_base_src_stop),
8279         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8280         (gst_base_src_change_state):
8281           Sprinkle gst_base_src_stop liberally around error paths to fix
8282           problems reusing a source after failed state changes.
8283         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8284         (helper_find_suggest), (gst_type_find_helper):
8285           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8286         * gst/gstevent.h:
8287         * docs/gst/tmpl/gstevent.sgml:
8288           Migrate part of the docs from the SGML file. Wait for ensonic to
8289           tell me how I did it wrong ;)
8290         * tools/gst-typefind.c: (main):
8291           Extra robustness to state changes between files.
8292
8293 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         * check/Makefile.am:
8296           don't valgrind the controller test - it's leaking - Stefan, HELP
8297         * gst/check/gstcheck.c: (gst_check_message_error),
8298         (gst_check_chain_func), (gst_check_setup_element),
8299         (gst_check_teardown_element), (gst_check_setup_src_pad),
8300         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8301         (gst_check_teardown_sink_pad):
8302         * gst/check/gstcheck.h:
8303           add a bunch of methods to set up elements, and src and sink pads
8304         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8305         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8306         (GST_START_TEST):
8307           use them
8308         * gst/gstmessage.c:
8309         * gst/gsttag.h:
8310           whitespace/doc fixes
8311
8312 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8313
8314         * gst/gstelement.h:
8315           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8316           be handled by the application and not always printed as well
8317
8318 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8319
8320         * check/Makefile.am:
8321           set GST_TOOLS_DIR
8322         * gst/check/gstcheck.c: (gst_check_message_error):
8323         * gst/check/gstcheck.h:
8324           add a fail_unless_equals_int
8325           add fail_unless for error messages
8326
8327 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8328
8329         * check/Makefile.am:
8330         * check/gst.supp:
8331         * common/Makefile.am:
8332         * common/check.mak:
8333         * common/gst.supp:
8334           factor out some of the common stuff so we can use it
8335
8336 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8337
8338         * check/Makefile.am:
8339         * check/gst/gstiterator.c: (GST_START_TEST):
8340         * check/gst/gstsystemclock.c: (GST_START_TEST),
8341         (gst_systemclock_suite):
8342         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8343         * gst/gstclock.c:
8344           valgrind more tests
8345
8346 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8347
8348         * check/elements/.cvsignore:
8349         * check/elements/gstfakesrc.c:
8350           rename to name of element
8351         * check/elements/identity.c: (chain_func), (event_func),
8352         (setup_identity), (cleanup_identity), (GST_START_TEST),
8353         (identity_suite), (main):
8354           add a test for identity
8355         * check/Makefile.am:
8356         * pkgconfig/Makefile.am:
8357         * pkgconfig/gstreamer-check.pc.in:
8358         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8359         * gst/check:
8360         * gst/Makefile.am:
8361         * configure.ac:
8362           move the check stuff to a library that gets installed
8363         * check/gst-libs/controller.c: (GST_START_TEST):
8364         * check/gst-libs/gdp.c:
8365         * check/gst/gst.c: (GST_START_TEST):
8366         * check/gst/gstbin.c:
8367         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8368         * check/gst/gstbus.c:
8369         * check/gst/gstcaps.c: (GST_START_TEST):
8370         * check/gst/gstelement.c:
8371         * check/gst/gstghostpad.c:
8372         * check/gst/gstiterator.c:
8373         * check/gst/gstmessage.c:
8374         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8375         * check/gst/gstobject.c:
8376         * check/gst/gstpad.c: (GST_START_TEST):
8377         * check/gst/gststructure.c: (GST_START_TEST):
8378         * check/gst/gstsystemclock.c: (GST_START_TEST),
8379         (gst_systemclock_suite):
8380         * check/gst/gsttag.c: (gst_tag_suite):
8381         * check/gst/gstvalue.c:
8382         * check/pipelines/cleanup.c:
8383         * check/pipelines/simple_launch_lines.c:
8384         * check/states/sinks.c:
8385           change include statement
8386
8387         * docs/gst/gstreamer-sections.txt:
8388         * docs/gst/tmpl/gstpad.sgml:
8389           document more pad stuff
8390         * gst/gstminiobject.c: (gst_mini_object_ref),
8391         (gst_mini_object_unref):
8392           debug refcounting
8393
8394 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8395
8396         * docs/gst/tmpl/gst.sgml:
8397         * gst/gst.c:
8398           eliminate another tmpl file, fix spelling in the long-description
8399
8400 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8401
8402         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8403         (test_event), (timediff), (gstevents_suite):
8404           Should fix build on 64-bit arch's
8405
8406 2005-08-18  Andy Wingo  <wingo@pobox.com>
8407
8408         Make sure that when a pipeline goes to PLAYING, that data has
8409         actually hit the sink.
8410
8411         * check/states/sinks.c (test_sink): A sink that doesn't get any
8412         data shouldn't return SUCCESS for going to either PLAYING or
8413         PAUSED. Test also the return values on the way back down.
8414
8415         * gst/gstelement.c (gst_element_set_state): When changing the
8416         state of an element currently changing state asynchronously, go to
8417         lost-state after commiting the pending state. Makes future calls
8418         to get_state continue to return ASYNC.
8419
8420         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8421         ASYNC when going to PLAYING if we still don't have preroll, as can
8422         happen with live sources.
8423
8424 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8425
8426         * docs/pwg/advanced-types.xml:
8427           Hack long paragraph into 2 chunks as a workaround for buggy
8428           jadetex version in sid and breezy that loops infinitely and
8429           eats all RAM.
8430
8431 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8432
8433         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8434         (test_event), (timediff), (gstevents_suite):
8435           Provide more error margin in clock measurements to allow for 
8436           g_get_current_time inaccuracies.
8437
8438 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8439
8440         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8441         (test_event), (timediff), (gstevents_suite):
8442            Fix error message output so I might be able to tell why the
8443            test works here but fails on the build farm.
8444
8445 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8446
8447         * check/Makefile.am:
8448         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8449         (test_event), (timediff), (gstevents_suite), (main):
8450           I wrote a test!
8451
8452         * docs/design/part-seeking.txt:
8453           Spelling correction
8454
8455         * docs/gst/tmpl/gstevent.sgml:
8456         * docs/gst/tmpl/gstfakesrc.sgml:
8457           Docs updates.
8458
8459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8460           Treat a buffer-without-newsegment the same as a receiving 
8461           a newsegment not in time format, and disable syncing to the clock
8462           with a warning.
8463
8464         * gst/gstbus.c: (gst_bus_set_sync_handler):
8465           Assert if anyone tries to replace the existing sync_handler for bus, 
8466           as only the owner should be setting it.
8467
8468         * gst/gstevent.h:
8469           Have a fixed set of custom event enums with events identified by
8470           their structure name (as in 0.8), rather than a free-for-all
8471           allowing collisions between enum values from different plugins.
8472
8473         * gst/gstpad.c: (gst_pad_class_init):
8474           Docs change.
8475           
8476         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8477           Handle out-of-band downstream events from the sending thread.
8478
8479 2005-08-17  Andy Wingo  <wingo@pobox.com>
8480
8481         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8482         play-timeout==0 to mean no timeout at all. In that case, don't
8483         bother with a get_state or a warning, just return directly, even
8484         if it's ASYNC.
8485
8486         * gst/base/gstbasetransform.c: Debug changes.
8487
8488         * gst/gstutils.h:
8489         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8490         ensure bins post state change messages. A bit of a hack but I can't
8491         think of a way to avoid it.
8492
8493         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8494
8495 2005-08-16  Andy Wingo  <wingo@pobox.com>
8496
8497         * gst/base/gstadapter.h:
8498         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8499         peek() but you own the data. Not terribly efficient atm.
8500
8501 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8502
8503         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8504         (gst_element_found_tags):
8505         * gst/gstutils.h:
8506           Add two utility functions for tag handling.
8507
8508 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8509
8510         * docs/manual/advanced-dataaccess.xml:
8511         * docs/manual/basics-helloworld.xml:
8512           Fix docs to use _bin_add() before _link(), which fixes the examples
8513           with recent core versions (reported by Madhan Raj M
8514           <raj_madan@rediffmail.com>, #313199).
8515
8516 2005-08-16  Wim Taymans  <wim@fluendo.com>
8517
8518         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8519         Added subtract checks.
8520
8521         * docs/design/part-events.txt:
8522         Some more docs about newsegment
8523
8524         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8525         Fix FIXME
8526
8527         * gst/gstcaps.c: (gst_caps_to_string):
8528         Add comments, cleanups.
8529         
8530         * gst/gstelement.c: (gst_element_save_thyself):
8531         cleanups
8532         
8533         * gst/gstvalue.c: (gst_value_collect_int_range),
8534         (gst_string_unwrap), (gst_value_union_int_int_range),
8535         (gst_value_union_int_range_int_range),
8536         (gst_value_intersect_int_int_range),
8537         (gst_value_intersect_int_range_int_range),
8538         (gst_value_intersect_double_double_range),
8539         (gst_value_intersect_double_range_double_range),
8540         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8541         (gst_value_subtract_int_range_int),
8542         (gst_value_subtract_double_range_double),
8543         (gst_value_subtract_double_range_double_range),
8544         (gst_value_subtract_from_list), (gst_value_subtract_list),
8545         (gst_value_can_compare), (gst_value_compare_fraction):
8546         Cleanups, add comments, remove unneeded asserts.
8547
8548 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8549
8550         * tools/gst-launch.c: (event_loop):
8551           don't convert NULL structures to strings
8552
8553 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8554
8555         * docs/gst/gstreamer-sections.txt:
8556           made some defines private
8557         * docs/gst/tmpl/gstconfig.sgml:
8558         * docs/gst/tmpl/gstqueue.sgml:
8559         * docs/gst/tmpl/gsttaglist.sgml:
8560         * docs/gst/tmpl/gsttypes.sgml:
8561         * docs/gst/tmpl/gstutils.sgml:
8562         * docs/pwg/appendix-porting.xml:
8563         * gst/base/gstbasesink.h:
8564         * gst/base/gstbasesrc.c:
8565         * gst/base/gstbasesrc.h:
8566         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8567         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8568         * gst/gstelement.c: (gst_element_class_init):
8569         * gst/gstpad.c: (gst_pad_class_init):
8570         * gst/gstqueue.c: (gst_queue_class_init):
8571         * gst/gstxml.c: (gst_xml_class_init):
8572           documented all undocumented signal inline
8573         * libs/gst/controller/gst-controller.h:
8574           added padding
8575
8576 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8577
8578         * docs/pwg/appendix-porting.xml:
8579           Document _set_link_function -> _set_setcaps_function.
8580
8581 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8582
8583         * check/Makefile.am:
8584           add a .check target for running the check
8585         * check/gst-libs/controller.c: (GST_START_TEST):
8586           cosmetic fixups
8587         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8588           complete checks for gstbuffer; would be nice if I could get the
8589           gcov stuff to work so I can see if I actually completed gstbuffer.c
8590         * check/gstcheck.h:
8591           add ASSERT_BUFFER_REFCOUNT
8592
8593 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8594
8595         * docs/gst/gstreamer-sections.txt:
8596         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8597         * gst/gsttag.h:
8598           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8599           spew out a warning if a tag that is already registered
8600           is re-registered, unless it is re-registered with a 
8601           different type (#308438).
8602
8603 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8604
8605         * docs/pwg/appendix-porting.xml:
8606         * docs/pwg/building-state.xml:
8607           Add some paragraphs about state changes in 0.9 to the PWG
8608           and the porting guide, in particular about the new meaning
8609           of GST_STATE_PAUSED and how to write state change functions
8610           with concurrent access by multiple threads in mind.
8611
8612 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8613
8614         * docs/gst/gstreamer-docs.sgml:
8615         * docs/libs/gstreamer-libs-docs.sgml:
8616           added deprecation and since indexes
8617         * libs/gst/controller/gst-controller.c:
8618         * libs/gst/controller/gst-helper.c:
8619           added since tags
8620
8621
8622 2005-08-11  Wim Taymans  <wim@fluendo.com>
8623
8624         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8625         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8626         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8627         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8628         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8629         (gst_ghost_pad_set_target):
8630         Actually implement (re)setting the target on a ghostpad
8631         as described in the docs.
8632
8633 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8634
8635         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8636           Check whether GST_DEBUG_NO_COLOR environment variable is
8637           set and disable coloured debug output if that is the case.
8638
8639 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8640
8641         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8642         (gst_type_find_helper):
8643           The memory returned by gst_type_find_peek() needs to
8644           stay valid until the end of a typefind function, and
8645           typefind functions may keep results from different 
8646           offsets around, so we can't just unref the buffer from
8647           the previous _peek(), but have to save all buffers 
8648           returned by _peek() until typefinding is done and only
8649           free them then.
8650
8651 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8652
8653         * docs/gst/gstreamer-sections.txt:
8654         * gst/gstutils.h:
8655           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8656
8657 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8658
8659         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8660           Fix a pretty good memleak.
8661
8662 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8663
8664         * gst/gstiterator.h:
8665           Fix wrong include and 'make distcheck'.
8666
8667 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8668
8669         * gst/gstbin.c: (bin_bus_handler):
8670           Use gst_element_post_message() instead.
8671
8672 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8673
8674         * gst/base/gstadapter.h:
8675         * gst/base/gstbasesink.h:
8676         * gst/base/gstbasesrc.h:
8677         * gst/base/gstbasetransform.h:
8678         * gst/base/gstcollectpads.h:
8679         * gst/base/gstpushsrc.h:
8680         * gst/gstiterator.h:
8681           Add padding to our base elements' class and instance structs and
8682           to GstIterator (you will need to rebuild all plugins and apps!)
8683
8684 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8685
8686         * gst/gstbin.c: (bin_bus_handler):
8687           Make default message forwarding from child->bus to bin->bus
8688           threadsafe and make it not emit warnings if the parent has no bus.
8689
8690 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8691
8692         * gst/gstelement.c: (activate_pads):
8693           On paused->ready, set pad->caps to NULL, as is the documented
8694           behaviour in this state change. Fixes playback of series of
8695           media files when visualization is enabled in Totem.
8696
8697 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8698
8699         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8700           Allow NULL as filter-caps (which means "any").
8701
8702 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8703
8704         * docs/libs/gstreamer-libs-sections.txt:
8705         * libs/gst/controller/gst-controller.c:
8706         * libs/gst/controller/gst-controller.h:
8707         * libs/gst/controller/gst-helper.c:
8708           adding more entries to the docs and fix small doc-bugs
8709
8710 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8711
8712         * docs/gst/gstreamer-docs.sgml:
8713         * docs/gst/gstreamer-sections.txt:
8714         * docs/gst/gstreamer.types:
8715         * docs/gst/tmpl/gstbasesink.sgml:
8716         * docs/gst/tmpl/gstbasesrc.sgml:
8717         * docs/gst/tmpl/gstbasetransform.sgml:
8718         * docs/gst/tmpl/gstfakesrc.sgml:
8719         * gst/base/gstcollectpads.c:
8720         * gst/base/gstcollectpads.h:
8721         * libs/gst/controller/gst-controller.c:
8722         * libs/gst/controller/gst-controller.h:
8723         * libs/gst/controller/gst-helper.c:
8724         * libs/gst/controller/gst-interpolation.c:
8725         * libs/gst/controller/lib.c:
8726           added long/short desc for controller docs
8727           added collectpads base class docs
8728           added correct includes to base-class docs
8729
8730 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8731
8732         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8733         (gst_test_mono_source_set_property),
8734         (gst_test_mono_source_class_init), (GST_START_TEST),
8735         (gst_controller_suite):
8736         * docs/gst/gstreamer-docs.sgml:
8737         * docs/gst/gstreamer-sections.txt:
8738         * docs/gst/gstreamer.types:
8739         * docs/libs/gstreamer-libs-docs.sgml:
8740         * docs/libs/gstreamer-libs-sections.txt:
8741         * gst/base/gstadapter.c:
8742         * libs/gst/controller/gst-controller.c:
8743         (gst_controlled_property_new), (gst_controlled_property_free),
8744         (gst_controller_new_valist),
8745         (gst_controller_remove_properties_valist),
8746         (gst_controller_sink_values), (_gst_controller_finalize):
8747         * libs/gst/controller/gst-controller.h:
8748         * libs/gst/controller/gst-helper.c:
8749         (gst_object_control_properties), (gst_object_uncontrol_properties),
8750         (gst_object_get_controller), (gst_object_set_controller),
8751         (gst_object_sink_values), (gst_object_get_value_arrays),
8752         (gst_object_get_value_array):
8753           more tests (and fixes) for the controller
8754           more docs for the controller
8755           integrated companies docs for the adapter 
8756
8757 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8758
8759         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8760         (GST_START_TEST), (fakesrc_suite):
8761           add tests for sizetype
8762
8763 2005-08-04  Andy Wingo  <wingo@pobox.com>
8764
8765         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8766         fixes buffer_alloc proxying among other things.
8767
8768         * gst/base/gstbasetransform.c:
8769         * gst/base/gstbasetransform.h:
8770         Revert patch to gstbasetransform from 7-28 removing
8771         delay_configure.
8772
8773         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8774         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8775         Semantics changed, should return not the size of the output buffer
8776         but the byte size of a buffer with a given caps.
8777
8778         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8779         debug object.
8780         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8781         out) are not the pad caps until setcaps finishes.
8782         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8783         not-in-place case as well. Deal with changing from in-place to
8784         not-in-place within calling pad_alloc_buffer. Still a bit
8785         concerned about the overhead here...
8786
8787 2005-08-03  Andy Wingo  <wingo@pobox.com>
8788
8789         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8790         fixating is an error.
8791
8792 2005-08-04  Edward Hervey  <edward@fluendo.com>
8793
8794         * gst/base/gstadapter.h: 
8795         Added gst_adapter_get_type() to the header
8796
8797 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8798
8799         * check/Makefile.am:
8800         * check/gst-libs/controller.c:
8801         * libs/gst/controller/gst-controller.c:
8802         (gst_controller_new_valist):
8803           added check test suite for the controller
8804         * gst/base/gstpushsrc.c:
8805           fixed a doc typo
8806
8807 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8808
8809         * docs/gst/Makefile.am:
8810         * docs/gst/gstreamer-docs.sgml:
8811         * docs/gst/gstreamer-sections.txt:
8812         * docs/gst/gstreamer.types:
8813         * docs/gst/tmpl/gstfakesrc.sgml:
8814         * gst/base/README:
8815         * gst/base/gstbasesink.c:
8816         * gst/base/gstbasesink.h:
8817         * gst/base/gstbasesrc.c:
8818         * gst/base/gstbasesrc.h:
8819         * gst/base/gstbasetransform.c:
8820         * gst/base/gstpushsrc.c:
8821         * gst/base/gstpushsrc.h:
8822           add short/long description docs to base classes
8823           add pushsrc to the docs
8824           remove consolidated doc fragments
8825
8826 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8827
8828         * configure.ac:
8829         * docs/libs/Makefile.am:
8830         * docs/libs/gstreamer-libs-docs.sgml:
8831         * docs/libs/gstreamer-libs-sections.txt:
8832         * docs/libs/gstreamer-libs.types:
8833         * examples/Makefile.am:
8834         * examples/controller/.cvsignore:
8835         * examples/controller/Makefile.am:
8836         * examples/controller/audio-example.c: (main):
8837         * libs/gst/Makefile.am:
8838         * libs/gst/controller/.cvsignore:
8839         * libs/gst/controller/Makefile.am:
8840         * libs/gst/controller/gst-controller.c:
8841         (on_object_controlled_property_changed), (gst_timed_value_compare),
8842         (gst_timed_value_find),
8843         (gst_controlled_property_set_interpolation_mode),
8844         (gst_controlled_property_new), (gst_controlled_property_free),
8845         (gst_controller_find_controlled_property),
8846         (gst_controller_new_valist), (gst_controller_new),
8847         (gst_controller_remove_properties_valist),
8848         (gst_controller_remove_properties), (gst_controller_set),
8849         (gst_controller_set_from_list), (gst_controller_unset),
8850         (gst_controller_get), (gst_controller_get_all),
8851         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8852         (gst_controller_get_value_array),
8853         (gst_controller_set_interpolation_mode),
8854         (_gst_controller_finalize), (_gst_controller_init),
8855         (_gst_controller_class_init), (gst_controller_get_type):
8856         * libs/gst/controller/gst-controller.h:
8857         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8858         (g_object_uncontrol_properties), (g_object_get_controller),
8859         (g_object_set_controller), (g_object_sink_values),
8860         (g_object_get_value_arrays), (g_object_get_value_array):
8861         * libs/gst/controller/gst-interpolation.c:
8862         (gst_controlled_property_find_timed_value_node),
8863         (interpolate_none_get), (interpolate_trigger_get),
8864         (interpolate_trigger_get_value_array):
8865         * libs/gst/controller/lib.c: (gst_controller_init):
8866         * pkgconfig/Makefile.am:
8867         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8868         * pkgconfig/gstreamer-control.pc.in:
8869         * testsuite/Makefile.am:
8870         * testsuite/controller/.cvsignore:
8871         * testsuite/controller/Makefile.am:
8872         * testsuite/controller/interpolator.c: (main):
8873           added controller code
8874           removed dparam pc files
8875
8876 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8877         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8878         (gst_collectpads_stop):
8879           Broadcast the condition when shutting down, to make sure we wake all
8880           threads up. Shut down pads on finalize, for safety.
8881
8882 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8883         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8884         (gst_base_transform_handle_buffer),
8885         (gst_base_transform_change_state):
8886           Handle PAUSED->READY->PAUSED transition after negotiation
8887           occurred already.
8888         * gst/gstmessage.c: (gst_message_init):
8889           Extra piece of debug for new messages.
8890
8891 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8892
8893         * configure.ac:
8894         * docs/gst/tmpl/gstbasesrc.sgml:
8895         * docs/gst/tmpl/gstelement.sgml:
8896         * docs/gst/tmpl/gstevent.sgml:
8897         * docs/gst/tmpl/gstfakesrc.sgml:
8898         * docs/gst/tmpl/gstformat.sgml:
8899         * docs/gst/tmpl/gstghostpad.sgml:
8900         * docs/gst/tmpl/gstpad.sgml:
8901         * docs/gst/tmpl/gstquery.sgml:
8902         * docs/gst/tmpl/gststructure.sgml:
8903         * docs/gst/tmpl/gsttaglist.sgml:
8904         * docs/gst/tmpl/gstvalue.sgml:
8905         * docs/libs/gstreamer-libs-docs.sgml:
8906         * docs/libs/gstreamer-libs-sections.txt:
8907         * docs/libs/gstreamer-libs.types:
8908         * libs/gst/Makefile.am:
8909         * libs/gst/control/.cvsignore:
8910         * libs/gst/control/Makefile.am:
8911         * libs/gst/control/control.c:
8912         * libs/gst/control/control.h:
8913         * libs/gst/control/dparam.c:
8914         * libs/gst/control/dparam.h:
8915         * libs/gst/control/dparam_smooth.c:
8916         * libs/gst/control/dparam_smooth.h:
8917         * libs/gst/control/dparamcommon.h:
8918         * libs/gst/control/dparammanager.c:
8919         * libs/gst/control/dparammanager.h:
8920         * libs/gst/control/dplinearinterp.c:
8921         * libs/gst/control/dplinearinterp.h:
8922         * libs/gst/control/unitconvert.c:
8923         * libs/gst/control/unitconvert.h:
8924         * testsuite/Makefile.am:
8925         * testsuite/dynparams/.cvsignore:
8926         * testsuite/dynparams/Makefile.am:
8927         * testsuite/dynparams/dparamstest.c:
8928         * tools/Makefile.am:
8929         * tools/gst-inspect.c: (print_element_info), (main):
8930         * tools/gst-xmlinspect.c: (print_element_info), (main):
8931           deactivate and remove dparams (libgstcontrol)
8932
8933 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8934
8935         * gst/elements/gsttypefindelement.c:
8936         (gst_type_find_element_have_type), (gst_type_find_element_init),
8937         (stop_typefinding), (gst_type_find_element_handle_event),
8938         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8939         * gst/elements/gsttypefindelement.h:
8940           Set caps on all outgoing buffers, not just the first one.
8941
8942 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8943
8944         * gst/elements/gsttypefindelement.c:
8945         (gst_type_find_element_have_type),
8946         (gst_type_find_element_check_set_buffer_caps),
8947         (gst_type_find_element_init), (stop_typefinding),
8948         (gst_type_find_element_handle_event),
8949         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8950         * gst/elements/gsttypefindelement.h:
8951           Set caps on first outgoing buffer when we've found the type.
8952
8953 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8954
8955         * docs/gst/gstreamer-docs.sgml:
8956         * docs/gst/gstreamer-sections.txt:
8957         * docs/gst/tmpl/gstscheduler.sgml:
8958         * docs/gst/tmpl/gstschedulerfactory.sgml:
8959           Remove some old cruft from docs.
8960
8961 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8962
8963         * gst/gstpad.h:
8964           Fix inline docs for GstPadLinkReturn.
8965           
8966         * gst/gststructure.c: (gst_structure_has_name):
8967         * gst/gststructure.h:
8968         * docs/gst/gstreamer-sections.txt:
8969           New API: gst_structure_has_name().
8970
8971 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8972
8973         * configure.ac:
8974           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8975           and _LARGEFILE_SOURCE in config.h as required. Do not 
8976           export those flags in our .pc files any longer (#142209).
8977
8978           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8979
8980         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8981         (gst_file_sink_do_seek), (gst_file_sink_event),
8982         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8983           Redo seek/tell calls with large file support in mind; add some
8984           debugging messages; add log message that tells us when large
8985           file support is unavailable or not enabled for some reason.
8986
8987         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8988           Add log message that tells us when large file support 
8989           is unavailable or not enabled for some reason.
8990
8991 2005-07-29  Wim Taymans  <wim@fluendo.com>
8992
8993         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8994         Added test for removing an element with ghostpad from a bin.
8995         Fixed test as current implementation does the right thing.
8996
8997         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8998         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8999         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9000         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9001         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9002         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9003         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9004         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9005         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9006         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9007         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9008         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9009         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9010         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9011         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9012         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9013         * gst/gstghostpad.h:
9014         Clean up ghostpads, remove properties for internal stuff.
9015         Make threadsafe.
9016         Fix refcounting.
9017         Prepare for switching targets, not all use cases work yet.
9018
9019 2005-07-29  Wim Taymans  <wim@fluendo.com>
9020
9021         * docs/design/part-gstghostpad.txt:
9022         Small update.
9023
9024         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9025         (gst_bin_remove_func):
9026         Unlinking pads while holding the bin LOCK is not a good
9027         idea.
9028
9029         * gst/gstpad.c: (gst_pad_class_init),
9030         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9031         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9032         No prob setting template after creating the pad.
9033
9034 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9035
9036         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9037         (gst_bus_peek), (gst_bus_source_dispatch),
9038         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9039         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9040           gst_bus_poll may be called from other threads. Handle
9041           this nicely by not making poll_data disappear off the
9042           stack once gst_bus_poll returns.
9043           gst_bus_peek now increments the refcount on the returned
9044           message.
9045
9046 2005-07-29  Wim Taymans  <wim@fluendo.com>
9047
9048         * docs/design/part-gstghostpad.txt:
9049         Overview of current GhostPad datastructures and use
9050         cases for changing the target.
9051
9052 2005-07-28  Wim Taymans  <wim@fluendo.com>
9053
9054         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9055         Added checks for hierarchy consistency whan adding linked
9056         elements to bins.
9057
9058         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9059         Added check to test element scheduling without bin/pipeline.
9060
9061         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9062         First add elements to bin, then link.
9063         
9064         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9065         (gst_bin_remove_func):
9066         Unlink pads from elements added/removed from bin to maintain
9067         hierarchy consistency.
9068
9069 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9070
9071         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9072         (gst_base_transform_handle_buffer):
9073         * gst/base/gstbasetransform.h:
9074           Remove broken delay_configure (fixes renegotiation of software
9075           scaling pipelines); remove some leftover printf()s.
9076
9077 2005-07-28  Wim Taymans  <wim@fluendo.com>
9078
9079         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9080         Added some more tests for wrong hierarchy
9081
9082         * docs/design/part-overview.txt:
9083         Some updates.
9084
9085         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9086         Cleanups.
9087
9088         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9089         (gst_element_dispose):
9090         Some more cleanups.
9091
9092         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9093         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9094         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9095         (gst_pad_set_caps), (gst_pad_send_event):
9096         Check for correct hierarchy when linking pads. Moving to
9097         strict requirement for ghostpads when linking elements in
9098         different bins.
9099
9100         * gst/gstpad.h:
9101         Clean ups. Added WRONG_HIERARCHY return value.
9102
9103 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9104
9105         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9106           Better debug if no transform is possible.
9107
9108 2005-07-27  Wim Taymans  <wim@fluendo.com>
9109
9110         * docs/random/wtay/network-transp:
9111         Some old doc I had.
9112
9113 2005-07-27  Wim Taymans  <wim@fluendo.com>
9114
9115         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9116         (gst_dp_event_from_packet):
9117         Fix serialization of seek events.
9118
9119 2005-07-27  Wim Taymans  <wim@fluendo.com>
9120
9121         * check/gst-libs/gdp.c: (GST_START_TEST):
9122         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9123         Fix compilation and fix event serialization.
9124
9125 2005-07-27  Wim Taymans  <wim@fluendo.com>
9126
9127         * CHANGES-0.9:
9128         * docs/design/part-TODO.txt:
9129         * docs/design/part-events.txt:
9130         Some docs updates
9131
9132         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9133         (gst_base_sink_event), (gst_base_sink_do_sync),
9134         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9135         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9136         (gst_base_src_do_seek), (gst_base_src_event_handler),
9137         (gst_base_src_loop):
9138         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9139         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9140         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9141         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9142         (gst_base_transform_set_passthrough),
9143         (gst_base_transform_is_passthrough):
9144         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9145         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9146         Event updates.
9147
9148         * gst/gstbuffer.h:
9149         Use faster casts.
9150
9151         * gst/gstelement.c: (gst_element_seek):
9152         * gst/gstelement.h:
9153         Update gst_element_seek.
9154
9155         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9156         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9157         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9158         (gst_event_new_eos), (gst_event_new_newsegment),
9159         (gst_event_parse_newsegment), (gst_event_new_tag),
9160         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9161         (gst_event_parse_qos), (gst_event_new_seek),
9162         (gst_event_parse_seek), (gst_event_new_navigation):
9163         * gst/gstevent.h:
9164         Make GstEvent use GstStructure. Add parsing code, make sure the
9165         API is sufficiently generic.
9166         Mark possible directions of events and serialization.
9167
9168         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9169         (_gst_message_copy), (gst_message_new_segment_start),
9170         (gst_message_new_segment_done), (gst_message_new_custom),
9171         (gst_message_parse_segment_start),
9172         (gst_message_parse_segment_done):
9173         Small cleanups.
9174
9175         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9176         (gst_pad_set_caps), (gst_pad_send_event):
9177         Update for new events. 
9178         Catch events sent in wrong directions.
9179
9180         * gst/gstqueue.c: (gst_queue_link_src),
9181         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9182         (gst_queue_handle_src_query):
9183         Event updates.
9184
9185         * gst/gsttag.c:
9186         * gst/gsttag.h:
9187         Remove event code from this file.
9188
9189         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9190         (gst_dp_event_from_packet):
9191         Event updates.
9192
9193 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9194
9195         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9196         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9197         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9198           Make debugging actually useful.
9199
9200 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9201
9202         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9203         (gst_pad_fixate_caps):
9204           Implement default fixation once again, so that gst_pad_fixate()
9205           actually does anything at all. This probably needs to be some
9206           sort of a last resort, and use profile-based fixation first, but
9207           since that doesn't exist yet, this is the best we have. Fixes
9208           visualization in Totem.
9209
9210 2005-07-22  Wim Taymans  <wim@fluendo.com>
9211
9212         * docs/design/part-events.txt:
9213         Small update.
9214
9215         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9216         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9217         (gst_base_sink_activate_pull):
9218         Some more comments.
9219
9220         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9221         (gst_fake_src_create):
9222         Fix handoff marshall.
9223
9224         * gst/elements/gstidentity.c: (gst_identity_class_init),
9225         (gst_identity_transform_ip):
9226         We're a real inplace element.
9227
9228         * gst/gstbus.c: (gst_bus_post):
9229         Added some comments.
9230
9231         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9232         * tests/muxing/case1.c: (main):
9233         * tests/sched/dynamic-pipeline.c: (main):
9234         * tests/sched/interrupt1.c: (main):
9235         * tests/sched/interrupt2.c: (main):
9236         * tests/sched/interrupt3.c: (main):
9237         * tests/sched/runxml.c: (main):
9238         * tests/sched/sched-stress.c: (main):
9239         * tests/seeking/seeking1.c: (event_received), (main):
9240         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9241         (main):
9242         * tests/threadstate/threadstate3.c: (main):
9243         * tests/threadstate/threadstate4.c: (main):
9244         * tests/threadstate/threadstate5.c: (main):
9245         Fix the tests.
9246
9247 2005-07-21  Wim Taymans  <wim@fluendo.com>
9248
9249         * docs/design/part-seeking.txt:
9250         Some small additions.
9251
9252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9253         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9254         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9255         * gst/base/gstbasesink.h:
9256         discont values are gint64, handle the math correctly.
9257
9258         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9259         Make the basesrc report error if the source pad is not linked.
9260
9261         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9262         (gst_queue_loop), (gst_queue_handle_src_query),
9263         (gst_queue_src_activate_push):
9264         Make queue collect data even if the srcpad is not linked.
9265         Start pushing out data as soon as it is linked.
9266
9267         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9268         * gst/gstutils.h:
9269         Added gst_flow_get_name() to ease error reporting.
9270
9271 2005-07-20  Wim Taymans  <wim@fluendo.com>
9272
9273         * gst/gstmessage.c: (gst_message_new_segment_start),
9274         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9275         (gst_message_parse_segment_done):
9276         * gst/gstmessage.h:
9277         Added a bunch of messages for advanced seeking.
9278
9279         * gst/parse/grammar.y:
9280         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9281         (gst_dpman_state_changed):
9282         Fix some new-pad -> pad-added signals
9283
9284 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9285
9286         * docs/manual/appendix-porting.xml:
9287         * docs/pwg/appendix-porting.xml:
9288           Document new-pad/state-change signal renames and the FixedList
9289           type rename.
9290
9291 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9292
9293         * docs/manual/advanced-autoplugging.xml:
9294         * docs/manual/basics-helloworld.xml:
9295         * docs/manual/basics-pads.xml:
9296         * docs/random/ds/0.9-suggested-changes:
9297         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9298         * gst/gstelement.h:
9299         * gst/gstevent.h:
9300         * gst/gstformat.h:
9301         * gst/gstquery.h:
9302         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9303         (gst_structure_parse_array), (gst_structure_parse_value):
9304         * gst/gstvalue.c: (gst_type_is_fixed),
9305         (gst_value_list_prepend_value), (gst_value_list_append_value),
9306         (gst_value_list_get_size), (gst_value_list_get_value),
9307         (gst_value_transform_array_string), (gst_value_serialize_array),
9308         (gst_value_deserialize_array), (gst_value_intersect_array),
9309         (gst_value_is_fixed), (_gst_value_initialize):
9310         * gst/gstvalue.h:
9311           GstElement::new-pad -> pad-added, GstElement::state-change ->
9312           state-changed, GstValueFixedList -> GstValueArray, add format and
9313           flags as their own arguments in gst_element_seek() (should improve
9314           "bindeability"), remove function generators since they don't work
9315           under a whole bunch of compilers (they were deprecated already
9316           anyway).
9317
9318 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9319
9320         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9321         (_gst_debug_register_funcptr):
9322         * gst/gstinfo.h:
9323           Fix illegal cast on some platforms (#309253).
9324
9325 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9326
9327         * gst/gstmessage.c: (gst_message_new_custom):
9328         * gst/gstmessage.h:
9329           Add _new_custom, make _new_application a macro to _new_custom.
9330
9331 2005-07-20  Wim Taymans  <wim@fluendo.com>
9332
9333         * gst/base/gstbasesrc.c: (gst_base_src_init),
9334         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9335         * gst/base/gstbasesrc.h:
9336         Add a gboolean to decide when to push out a discont.
9337
9338         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9339         (gst_queue_loop), (gst_queue_handle_src_query),
9340         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9341         (gst_queue_set_property), (gst_queue_get_property):
9342         Some cleanups.
9343
9344         * tests/threadstate/threadstate1.c: (main):
9345         Make a thread test compile and run... very silly..
9346
9347
9348 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9349
9350         * docs/manual/appendix-porting.xml:
9351           Mention removal of libgstgconf-0.9.la and existence of gconf
9352           elements.
9353
9354 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9355
9356         * docs/pwg/advanced-clock.xml:
9357         * docs/pwg/appendix-porting.xml:
9358         * docs/pwg/intro-preface.xml:
9359         * docs/pwg/other-base.xml:
9360         * docs/pwg/other-manager.xml:
9361         * docs/pwg/other-nton.xml:
9362         * docs/pwg/other-ntoone.xml:
9363         * docs/pwg/other-oneton.xml:
9364         * docs/pwg/pwg.xml:
9365           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9366           demuxer), remove n-to-n (was never written), fix some code examples
9367           and links and update the porting section to include all this.
9368
9369 2005-07-19  Wim Taymans  <wim@fluendo.com>
9370
9371         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9372         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9373         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9374         (gst_queue_src_activate_push), (gst_queue_change_state),
9375         (gst_queue_get_property):
9376         * gst/gstqueue.h:
9377         Propagate GstFlowReturn more intelligently upstream and output
9378         an ERROR/EOS when streaming stopped due to fatal error.
9379
9380 2005-07-19  Wim Taymans  <wim@fluendo.com>
9381
9382         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9383         Don't block forever for the state change to complete, the
9384         pipeline already did with a sensible timeout.
9385
9386 2005-07-19  Wim Taymans  <wim@fluendo.com>
9387
9388         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9389         Make sure we never call the create function is we
9390         got deactivated.
9391
9392 2005-07-19  Andy Wingo  <wingo@pobox.com>
9393
9394         * gst/parse/parse.l: Attempt to solve bug #172815.
9395
9396 2005-07-19  Wim Taymans  <wim@fluendo.com>
9397
9398         * docs/design/part-clocks.txt:
9399         * docs/design/part-events.txt:
9400         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9401         Small docs updates.
9402         Only update the seeking values when we are not
9403         busy streaming.
9404
9405 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9406
9407         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9408           Oops, ignore the result of gst_pad_push_event here.
9409
9410 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9411
9412         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9413         (gst_base_src_activate_push):
9414           Send discont event from the loop function, as pads
9415           aren't activated yet in the activate_push handler.
9416
9417         * gst/gstbin.c: (bin_bus_handler):
9418           Don't leak element name.
9419
9420 2005-07-18  Andy Wingo  <wingo@pobox.com>
9421
9422         * configure.ac: Use AS_LIBTOOL_TAGS.
9423
9424 2005-07-18  Wim Taymans  <wim@fluendo.com>
9425
9426         * docs/gst/gstreamer.types:
9427         Remove deleted types.
9428
9429 2005-07-18  Wim Taymans  <wim@fluendo.com>
9430
9431         * check/elements/gstfakesrc.c: (GST_START_TEST):
9432         * configure.ac:
9433         * gst/Makefile.am:
9434         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9435         (init_popt_callback):
9436         * gst/gst.h:
9437         * gst/gst_private.h:
9438         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9439         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9440         * gst/gstbin.h:
9441         * gst/gstbus.h:
9442         * gst/gstconfig.h.in:
9443         * gst/gstelement.c: (gst_element_class_init),
9444         (gst_element_set_base_time), (gst_element_get_base_time),
9445         (iterator_fold_with_resync), (gst_element_change_state),
9446         (gst_element_dispose), (gst_element_get_bus):
9447         * gst/gstelement.h:
9448         * gst/gstelementfactory.h:
9449         * gst/gsterror.c: (_gst_core_errors_init):
9450         * gst/gsterror.h:
9451         * gst/gstevent.h:
9452         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9453         * gst/gstindex.c:
9454         * gst/gstinfo.c: (_gst_debug_init):
9455         * gst/gstmessage.c: (_gst_message_copy):
9456         * gst/gstmessage.h:
9457         * gst/gstminiobject.h:
9458         * gst/gstobject.c:
9459         * gst/gstobject.h:
9460         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9461         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9462         * gst/gstpad.h:
9463         * gst/gstparse.h:
9464         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9465         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9466         (gst_pipeline_get_last_stream_time):
9467         * gst/gstpipeline.h:
9468         * gst/gstpluginfeature.h:
9469         * gst/gstquery.h:
9470         * gst/gstscheduler.c:
9471         * gst/gstscheduler.h:
9472         * gst/gststructure.h:
9473         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9474         (gst_task_finalize), (gst_task_func), (gst_task_create),
9475         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9476         (gst_task_stop), (gst_task_pause):
9477         * gst/gsttask.h:
9478         * gst/gsttypefind.h:
9479         * gst/gsttypes.h:
9480         * gst/registries/gstlibxmlregistry.c: (load_feature),
9481         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9482         * gst/registries/gstxmlregistry.c:
9483         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9484         * gst/schedulers/threadscheduler.c:
9485         * libs/gst/control/dparammanager.h:
9486         * tools/gst-inspect.c: (print_element_list),
9487         (print_plugin_features), (print_element_features):
9488         * tools/gst-xmlinspect.c: (print_element_list),
9489         (print_plugin_info), (main):
9490         Removed plugable schedulers.
9491         Removed Scheduler/Manager from elements.
9492         Removed gsttypes.h, rearranged includes.
9493         Removed dependency pad<->element, element<>pipeline, and
9494         various others,  fix includes.
9495         implement gst_pad_get_parent() with gst_object_get_parent()
9496         Make GstTask sefcontained.
9497         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9498         timeout.
9499         Fix endless loop in iterator_fold_with_resync.
9500
9501
9502 2005-07-18  Wim Taymans  <wim@fluendo.com>
9503
9504         * gst/Makefile.am:
9505         * gst/gstarch.h:
9506         Remove old file.
9507
9508 2005-07-18  Wim Taymans  <wim@fluendo.com>
9509
9510         * gst/Makefile.am:
9511         No more cothreads.h
9512
9513 2005-07-18  Wim Taymans  <wim@fluendo.com>
9514
9515         * gst/cothreads.c:
9516         * gst/cothreads.h:
9517         Let's remove these.
9518
9519 2005-07-18  Wim Taymans  <wim@fluendo.com>
9520
9521         * docs/design/part-dynamic.txt:
9522         * docs/design/part-events.txt:
9523         * docs/design/part-seeking.txt:
9524         Some more docs in the works.
9525
9526         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9527         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9528         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9529         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9530         (gst_base_transform_handle_buffer),
9531         (gst_base_transform_sink_activate_push),
9532         (gst_base_transform_src_activate_pull),
9533         (gst_base_transform_set_passthrough),
9534         (gst_base_transform_is_passthrough):
9535         Refcounting fixes.
9536
9537         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9538         Cleanups.
9539
9540         * gst/gstevent.c: (gst_event_finalize):
9541         Set SRC to NULL.
9542
9543         * gst/gstutils.c: (gst_element_unlink),
9544         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9545         (gst_pad_proxy_setcaps):
9546         * gst/gstutils.h:
9547         Add _get_parent_element() to get a pads parent as an element.
9548
9549 2005-07-18  Wim Taymans  <wim@fluendo.com>
9550
9551         * check/gst/gstbin.c: (GST_START_TEST):
9552         Remove bogus test.
9553
9554 2005-07-18  Wim Taymans  <wim@fluendo.com>
9555
9556         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9557         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9558         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9559         (gst_base_sink_event), (gst_base_sink_do_sync),
9560         (gst_base_sink_chain), (gst_base_sink_loop),
9561         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9562         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9563         Refcounting fixes.
9564         Fix logic for returning ASYNC when not prerolled.
9565
9566 2005-07-18  Wim Taymans  <wim@fluendo.com>
9567
9568         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9569         Fix nasty refcount bug.
9570
9571 2005-07-16 Philippe Khalaf <burger@speedy.org>
9572
9573         * gst/elements/gstfdsrc.c:
9574         * gst/elements/gstfdsrc.h:
9575         * gst/elements/gstelements.c:
9576         * gst/elements/Makefile.am:
9577         Ported fdsrc to 0.9.
9578
9579 2005-07-16  Wim Taymans  <wim@fluendo.com>
9580
9581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9582         (gst_base_sink_do_sync):
9583         Fix compile error.
9584
9585 2005-07-16  Wim Taymans  <wim@fluendo.com>
9586
9587         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9588         (gst_base_sink_event), (gst_base_sink_get_times),
9589         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9590         * gst/base/gstbasesink.h:
9591         Store and use discont values when syncing buffers as described
9592         in design docs.
9593         
9594         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9595         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9596         (gst_base_src_activate_push):
9597         Push discont event when starting.
9598
9599         * gst/elements/gstidentity.c: (gst_identity_transform):
9600         Small cleanups.
9601
9602         * gst/gstbin.c: (gst_bin_change_state):
9603         Small cleanups in base_time  distribution.
9604
9605         * gst/gstelement.c: (gst_element_set_base_time),
9606         (gst_element_get_base_time), (gst_element_change_state):
9607         * gst/gstelement.h:
9608         Added methods for the base_time of the element.
9609         Some MT fixes.
9610
9611         * gst/gstpipeline.c: (gst_pipeline_send_event),
9612         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9613         (gst_pipeline_get_last_stream_time):
9614         * gst/gstpipeline.h:
9615         MT fixes.
9616         Handle seeking as described in design doc, remove stream_time
9617         hack.
9618         Cleanups clock and stream_time selection code. Added accessors
9619         for the stream_time.
9620         
9621
9622 2005-07-16  Andy Wingo  <wingo@pobox.com>
9623
9624         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9625         (#305291).
9626
9627 2005-07-16  Wim Taymans  <wim@fluendo.com>
9628
9629         * check/gst/gstbin.c: (GST_START_TEST):
9630         Make elements silent as the deep_notify refs the
9631         parent, which might make the test fail.
9632
9633         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9634         Don't hold the lock for too long.
9635
9636 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9637
9638         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9639           Don't unref the caps we passed to gst_caps_make_writable() after
9640           passing them. gst_caps_make_writable() will do that for us.
9641
9642 2005-07-15  Andy Wingo  <wingo@pobox.com>
9643
9644         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9645         (#157311).
9646
9647         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9648         own marshalling function for the handoff signal. Properly type the
9649         buffer as a buffer. Fixes some warnings. Should do a more general
9650         solution.
9651         (gst_identity_class_init): Plug into the right marshaller.
9652
9653 2005-07-15  Wim Taymans  <wim@fluendo.com>
9654
9655         * docs/design/part-TODO.txt:
9656         * docs/design/part-clocks.txt:
9657         * docs/design/part-element-sink.txt:
9658         * docs/design/part-events.txt:
9659         * docs/design/part-gstpipeline.txt:
9660         Updated docs, mostly DISCONT related.
9661
9662 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9663
9664         * docs/pwg/building-pads.xml:
9665           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9666
9667 2005-07-15  Andy Wingo  <wingo@pobox.com>
9668
9669         * tools/gst-typefind.c: Update, add copyright block.
9670
9671         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9672         Normalize and truncate caps before fixation.
9673
9674         * gst/gstcaps.h:
9675         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9676         discards all but the first structure from its argument.
9677
9678 2005-07-15  Wim Taymans  <wim@fluendo.com>
9679
9680         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9681         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9682         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9683         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9684         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9685         (gst_base_transform_chain), (gst_base_transform_change_state),
9686         (gst_base_transform_set_passthrough),
9687         (gst_base_transform_is_passthrough):
9688         * gst/base/gstbasetransform.h:
9689         Make passthrough work using the bufferpools.
9690         Changed API a bit, subclasses have to write into a buffer
9691         provided by the base class.
9692         More debug info in nego functions.
9693         
9694         * gst/elements/gstidentity.c: (gst_identity_init),
9695         (gst_identity_transform):
9696         Port to new base class.
9697
9698 2005-07-15  Wim Taymans  <wim@fluendo.com>
9699
9700         * gst/gstmessage.c: (gst_message_new_state_changed):
9701         * tools/gst-launch.c: (event_loop), (main):
9702         Totally dump messages in -launch with the -m option.
9703         Fix message name for State messages,
9704
9705 2005-07-14  Wim Taymans  <wim@fluendo.com>
9706
9707         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9708         Post error messages on errors.
9709
9710 2005-07-14  Wim Taymans  <wim@fluendo.com>
9711
9712         * gst/gstcaps.c: (gst_caps_do_simplify):
9713         Remove debug info.
9714
9715         * gst/gsterror.h:
9716         Define error for stream stopped.
9717
9718         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9719         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9720         Do proper return values.
9721
9722         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9723         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9724         (gst_pad_get_range):
9725         Better return values.
9726
9727         * gst/gstpad.h:
9728         Reorganise return values, add macro to check for fatal errors.
9729
9730         * gst/gstqueue.c: (gst_queue_chain):
9731         Return proper GstFlowReturn values,
9732
9733 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9734
9735         * docs/gst/gstreamer-sections.txt:
9736         * docs/gst/gstreamer.types:
9737         * docs/gst/tmpl/gst.sgml:
9738         * docs/gst/tmpl/gstbasesink.sgml:
9739         * docs/gst/tmpl/gstbasesrc.sgml:
9740         * docs/gst/tmpl/gstbasetransform.sgml:
9741         * docs/gst/tmpl/gstbin.sgml:
9742         * docs/gst/tmpl/gstbuffer.sgml:
9743         * docs/gst/tmpl/gstcaps.sgml:
9744         * docs/gst/tmpl/gstclock.sgml:
9745         * docs/gst/tmpl/gstcompat.sgml:
9746         * docs/gst/tmpl/gstconfig.sgml:
9747         * docs/gst/tmpl/gstelement.sgml:
9748         * docs/gst/tmpl/gstelementdetails.sgml:
9749         * docs/gst/tmpl/gstelementfactory.sgml:
9750         * docs/gst/tmpl/gstenumtypes.sgml:
9751         * docs/gst/tmpl/gsterror.sgml:
9752         * docs/gst/tmpl/gstevent.sgml:
9753         * docs/gst/tmpl/gstfakesink.sgml:
9754         * docs/gst/tmpl/gstfakesrc.sgml:
9755         * docs/gst/tmpl/gstfilesink.sgml:
9756         * docs/gst/tmpl/gstfilesrc.sgml:
9757         * docs/gst/tmpl/gstfilter.sgml:
9758         * docs/gst/tmpl/gstformat.sgml:
9759         * docs/gst/tmpl/gstghostpad.sgml:
9760         * docs/gst/tmpl/gstimplementsinterface.sgml:
9761         * docs/gst/tmpl/gstindex.sgml:
9762         * docs/gst/tmpl/gstindexfactory.sgml:
9763         * docs/gst/tmpl/gstinfo.sgml:
9764         * docs/gst/tmpl/gstiterator.sgml:
9765         * docs/gst/tmpl/gstmacros.sgml:
9766         * docs/gst/tmpl/gstmemchunk.sgml:
9767         * docs/gst/tmpl/gstminiobject.sgml:
9768         * docs/gst/tmpl/gstobject.sgml:
9769         * docs/gst/tmpl/gstpad.sgml:
9770         * docs/gst/tmpl/gstpadtemplate.sgml:
9771         * docs/gst/tmpl/gstparse.sgml:
9772         * docs/gst/tmpl/gstpipeline.sgml:
9773         * docs/gst/tmpl/gstplugin.sgml:
9774         * docs/gst/tmpl/gstpluginfeature.sgml:
9775         * docs/gst/tmpl/gstquery.sgml:
9776         * docs/gst/tmpl/gstqueue.sgml:
9777         * docs/gst/tmpl/gstregistry.sgml:
9778         * docs/gst/tmpl/gstregistrypool.sgml:
9779         * docs/gst/tmpl/gstscheduler.sgml:
9780         * docs/gst/tmpl/gstschedulerfactory.sgml:
9781         * docs/gst/tmpl/gststructure.sgml:
9782         * docs/gst/tmpl/gstsystemclock.sgml:
9783         * docs/gst/tmpl/gsttaglist.sgml:
9784         * docs/gst/tmpl/gsttagsetter.sgml:
9785         * docs/gst/tmpl/gsttrace.sgml:
9786         * docs/gst/tmpl/gsttrashstack.sgml:
9787         * docs/gst/tmpl/gsttypefind.sgml:
9788         * docs/gst/tmpl/gsttypefindfactory.sgml:
9789         * docs/gst/tmpl/gsttypes.sgml:
9790         * docs/gst/tmpl/gsturihandler.sgml:
9791         * docs/gst/tmpl/gsturitype.sgml:
9792         * docs/gst/tmpl/gstutils.sgml:
9793         * docs/gst/tmpl/gstvalue.sgml:
9794         * docs/gst/tmpl/gstversion.sgml:
9795         * docs/gst/tmpl/gstxml.sgml:
9796         * docs/libs/tmpl/gstcontrol.sgml:
9797         * docs/libs/tmpl/gstdataprotocol.sgml:
9798         * docs/libs/tmpl/gstdparam.sgml:
9799         * docs/libs/tmpl/gstdplinint.sgml:
9800         * docs/libs/tmpl/gstdpman.sgml:
9801         * docs/libs/tmpl/gstdpsmooth.sgml:
9802         * docs/libs/tmpl/gstgetbits.sgml:
9803         * docs/libs/tmpl/gstunitconvert.sgml:
9804         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9805         (gst_push_src_base_init), (gst_push_src_class_init),
9806         (gst_push_src_init), (gst_push_src_create):
9807         * gst/base/gstpushsrc.h:
9808         * gst/elements/gstelements.c:
9809         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9810         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9811         (gst_fake_sink_init), (gst_fake_sink_set_property),
9812         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9813         (gst_fake_sink_event), (gst_fake_sink_preroll),
9814         (gst_fake_sink_render), (gst_fake_sink_change_state):
9815         * gst/elements/gstfakesink.h:
9816         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9817         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9818         (gst_fake_src_base_init), (gst_fake_src_class_init),
9819         (gst_fake_src_init), (gst_fake_src_event_handler),
9820         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9821         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9822         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9823         (gst_fake_src_create_buffer), (gst_fake_src_create),
9824         (gst_fake_src_start), (gst_fake_src_stop):
9825         * gst/elements/gstfakesrc.h:
9826         * gst/elements/gstfilesink.c: (_do_init),
9827         (gst_file_sink_base_init), (gst_file_sink_class_init),
9828         (gst_file_sink_init), (gst_file_sink_dispose),
9829         (gst_file_sink_set_location), (gst_file_sink_set_property),
9830         (gst_file_sink_get_property), (gst_file_sink_open_file),
9831         (gst_file_sink_close_file), (gst_file_sink_query),
9832         (gst_file_sink_event), (gst_file_sink_render),
9833         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9834         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9835         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9836         * gst/elements/gstfilesink.h:
9837         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9838         (gst_file_src_class_init), (gst_file_src_init),
9839         (gst_file_src_finalize), (gst_file_src_set_location),
9840         (gst_file_src_set_property), (gst_file_src_get_property),
9841         (gst_file_src_map_region), (gst_file_src_map_small_region),
9842         (gst_file_src_create_mmap), (gst_file_src_create_read),
9843         (gst_file_src_create), (gst_file_src_is_seekable),
9844         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9845         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9846         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9847         (gst_file_src_uri_handler_init):
9848         * gst/elements/gstfilesrc.h:
9849           more autistic cleanliness in functions/names/defines
9850
9851 2005-07-13  Andy Wingo  <wingo@pobox.com>
9852
9853         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9854         source couldn't negotiate.
9855
9856         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9857         connections again.
9858
9859         * gst/gstutils.h:
9860         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9861         function. I am channeling Hades. Put your boots on suckers!!!
9862
9863 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9864
9865         * testsuite/caps/Makefile.am:
9866         * testsuite/caps/value_compare.c:
9867         * testsuite/caps/value_intersect.c:
9868         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9869           move two testsuite apps over to the check dir
9870
9871 2005-07-12  Wim Taymans  <wim@fluendo.com>
9872
9873         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9874         Added more debug info in the negotiate process.
9875
9876         * gst/gstmessage.h:
9877         Prepare for segment playback.
9878
9879         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9880         Better debugging.
9881
9882         * gst/gstutils.c:
9883         Some more docs.
9884
9885         * tools/gst-launch.c: (main):
9886         NULL pipeline on errors.
9887
9888 2005-07-12  Andy Wingo  <wingo@pobox.com>
9889
9890         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9891         not it comes from a malloc region. Make sure our copy gets freed.
9892
9893 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9894
9895         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9896         * check/gst/gstmessage.c: (GST_START_TEST):
9897         * check/gst/gststructure.c: (GST_START_TEST),
9898         (gst_structure_suite), (main):
9899           more testing
9900         * gst/gstelement.c: (gst_element_message_full):
9901           clean up GError and debug string now that they get copied
9902         * gst/gstmessage.c: (gst_message_new_error),
9903         (gst_message_new_warning), (gst_message_parse_error),
9904         (gst_message_parse_warning):
9905           use GST_TYPE_G_ERROR for structure_new, and take copies of
9906           arguments, so that we don't mess up refcounting
9907
9908 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9909
9910         * check/Makefile.am:
9911           add per-test valgrind targets
9912         * check/gst-libs/gdp.c: (GST_START_TEST),
9913         (gst_data_protocol_suite), (main):
9914           clean up
9915
9916 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9917
9918         * check/Makefile.am:
9919           instate more valgrindable tests
9920         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9921         (GST_START_TEST), (fakesrc_suite):
9922         * check/gst/gstpad.c: (GST_START_TEST):
9923         * check/gst/gststructure.c: (GST_START_TEST):
9924           fix test leaks
9925         * docs/gst/tmpl/gstminiobject.sgml:
9926         * gst/gstpad.c: (gst_pad_finalize):
9927           fix the static mutex leak
9928
9929 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9930
9931         * check/Makefile.am:
9932           add two more tests for valgrinding
9933         * check/gst/gstvalue.c: (GST_START_TEST):
9934           test refcount of deserialized buffer, found a leak
9935         * docs/gst/gstreamer-docs.sgml:
9936         * docs/gst/gstreamer-sections.txt:
9937         * docs/gst/gstreamer.types:
9938         * docs/gst/tmpl/gstminiobject.sgml:
9939           add miniobject to docs
9940         * gst/gstminiobject.c:
9941           add some docs
9942         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9943         (gst_string_unwrap):
9944           fix a hard-to-find invalid write for one of the tests
9945           fix a leak for deserialized buffers
9946
9947 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9948
9949         * docs/pwg/advanced-events.xml:
9950         * docs/pwg/advanced-request.xml:
9951         * docs/pwg/advanced-scheduling.xml:
9952         * docs/pwg/appendix-porting.xml:
9953         * docs/pwg/building-boiler.xml:
9954         * docs/pwg/intro-preface.xml:
9955         * docs/pwg/other-ntoone.xml:
9956           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9957           of example code and explanation for pad activation, loop() and
9958           getrange() functions and a bit more. Remove old comments pointing
9959           to loop-functions.
9960         * examples/pwg/Makefile.am:
9961           Add loop/getrange examples.
9962
9963 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9964
9965         * configure.ac:
9966           check for valgrind binary + some fixes
9967         * check/gst.supp:
9968           valgrind suppressions for the tests
9969         * check/Makefile.am:
9970           add a valgrind: target that valgrinds the unit tests
9971         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9972         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9973         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9974         * check/gst/gstghostpad.c:
9975           added some cleanup
9976         * check/gst/gstdata.c:
9977           removed
9978         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9979         (thread_unref), (gst_mini_object_suite), (main):
9980           added
9981         * gst/gst.c: (gst_deinit):
9982         * gst/gst.h:
9983           add a method to clean up.
9984         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9985         (gst_system_clock_obtain):
9986           allow for disposing the system clock.
9987         * tools/gst-launch.c: (main):
9988           deinit
9989
9990 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9991
9992         * docs/gst/tmpl/gstbasesrc.sgml:
9993         * docs/gst/tmpl/gstfakesrc.sgml:
9994         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9995         (gst_base_src_init), (gst_base_src_set_property),
9996         (gst_base_src_get_property), (gst_base_src_get_range),
9997         (gst_base_src_start):
9998         * gst/base/gstbasesrc.h:
9999           add num-buffers property
10000         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10001         (gst_fakesrc_init), (gst_fakesrc_set_property),
10002         (gst_fakesrc_get_property), (gst_fakesrc_create),
10003         (gst_fakesrc_start):
10004           remove num-buffers property
10005
10006 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10007
10008         * docs/gst/gstreamer-sections.txt:
10009         * docs/gst/tmpl/gstbasesink.sgml:
10010         * docs/gst/tmpl/gstbasesrc.sgml:
10011         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10012         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10013         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10014         (gst_base_sink_set_property), (gst_base_sink_get_property),
10015         (gst_base_sink_handle_object), (gst_base_sink_event),
10016         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10017         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10018         (gst_base_sink_loop), (gst_base_sink_deactivate),
10019         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10020         (gst_base_sink_change_state):
10021         * gst/base/gstbasesink.h:
10022         * gst/base/gstbasesrc.h:
10023         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10024         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10025         (gst_filesink_init):
10026           more macro splitting
10027
10028 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10029
10030         * gst/gstelement.c: (gst_element_get_bus):
10031           add debug
10032         * tools/gst-launch.c: (check_intr), (event_loop):
10033           fix bus leaks
10034
10035 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10036
10037         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10038           fix a caps leak
10039
10040 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10043         (gst_base_src_finalize):
10044           add finalize method and clean up properly
10045         * gst/gstpipeline.c: (gst_pipeline_dispose):
10046           add debug
10047
10048 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10051         (gst_bin_suite):
10052           add more things to check
10053         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10054         * gst/gstelement.c:
10055           more debug
10056
10057 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10058
10059         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10060         (GST_START_TEST), (fakesrc_suite):
10061         * check/gst-libs/gdp.c: (GST_START_TEST):
10062         * check/gst/gst.c: (GST_START_TEST):
10063         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10064         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10065         * check/gst/gstbus.c: (GST_START_TEST):
10066         * check/gst/gstcaps.c: (GST_START_TEST):
10067         * check/gst/gstdata.c: (GST_START_TEST):
10068         * check/gst/gstelement.c: (GST_START_TEST):
10069         * check/gst/gstghostpad.c: (GST_START_TEST):
10070         * check/gst/gstiterator.c: (GST_START_TEST):
10071         * check/gst/gstmessage.c: (GST_START_TEST):
10072         * check/gst/gstobject.c: (GST_START_TEST):
10073         * check/gst/gstpad.c: (GST_START_TEST):
10074         * check/gst/gststructure.c: (GST_START_TEST):
10075         * check/gst/gstsystemclock.c: (GST_START_TEST),
10076         (gst_systemclock_suite):
10077         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10078         * check/gst/gstvalue.c: (GST_START_TEST):
10079         * check/pipelines/cleanup.c: (GST_START_TEST):
10080         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10081         * check/states/sinks.c: (GST_START_TEST):
10082         * check/gstcheck.c: (gst_check_init):
10083         * check/gstcheck.h:
10084           add debugging category
10085           use GST_START_TEST now, so we add a debug line
10086
10087 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10088
10089         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10090           add test for state change message on a bin
10091         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10092           add another test
10093         * gst/gstbin.c: (gst_bin_init):
10094         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10095         * gst/gstelement.c: (gst_element_post_message),
10096         (gst_element_set_state):
10097         * gst/gstelementfactory.c: (gst_element_factory_create):
10098         * gst/gstmessage.c: (gst_message_new):
10099         * gst/gstscheduler.c:
10100           various debugging additions and cleanups
10101
10102 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10103
10104         * check/Makefile.am:
10105         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10106         (main):
10107           adding tests for elements
10108         * gst/gstelement.c: (gst_element_dispose):
10109
10110 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10111
10112         * gst/registries/gstlibxmlregistry.c: (load_feature):
10113           plug more leaks.  A simple gst_init() now is leakfree, yay.
10114
10115 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10116
10117         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10118         (gst_xml_registry_load):
10119           plug another memleak
10120
10121 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10122
10123         * configure.ac:
10124           use GST_SET_ERROR_CFLAGS
10125         * docs/faq/cvs.xml:
10126           change to ERROR_CFLAGS
10127
10128 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10129
10130         * configure.ac:
10131           make GST_ERROR_CFLAGS overridable and re-enable Werror
10132         * docs/faq/cvs.xml:
10133           add a note about error CFLAGS
10134         * docs/gst/tmpl/gstfakesrc.sgml:
10135         * gst/elements/gstfakesrc.c:
10136           comment out some unused code
10137         * gst/gst.c: (split_and_iterate):
10138         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10139         (load_feature):
10140           plug some memleaks
10141
10142 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10143
10144         * common/Makefile.am:
10145         * common/gtk-doc.mak:
10146         * docs/gst/Makefile.am:
10147           factor out gtk-doc.mak
10148
10149 2005-07-07  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10152         (gst_thread_scheduler_dispose):
10153         Unlock the STREAM_LOCK completely.
10154
10155 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10156
10157         * check/Makefile.am:
10158         * check/elements/.cvsignore:
10159         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10160         (START_TEST), (fakesrc_suite), (main):
10161         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10162         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10163         (gst_fakesrc_create), (gst_fakesrc_start):
10164         * gst/elements/gstfakesrc.h:
10165           adding a first element test
10166
10167 2005-07-07  Andy Wingo  <wingo@pobox.com>
10168
10169         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10170         debug message.
10171
10172 2005-07-07  Wim Taymans  <wim@fluendo.com>
10173
10174         * gst/gstquery.c:
10175         * gst/gstquery.h:
10176         Remove old types
10177
10178 2005-07-07  Wim Taymans  <wim@fluendo.com>
10179
10180         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10181         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10182         Allow subclasses to implement their own negotiation.
10183
10184 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10185
10186         * docs/design/part-gstbin.txt:
10187         * docs/design/part-gstpipeline.txt:
10188           Update design notes to reflect the movement of
10189           responsibility for bus handling from GstPipeline to
10190           GstBin
10191
10192 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10193
10194         * configure.ac:
10195           Remove unnecessary queue2/3/4 examples.
10196
10197 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10198
10199         * examples/Makefile.am:
10200         * examples/helloworld/helloworld.c: (event_loop), (main):
10201         * examples/queue/queue.c: (event_loop), (main):
10202         * examples/queue2/queue2.c: (main):
10203           Update a couple of the examples to work again.
10204
10205         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10206         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10207          Spelling corrections and extra debug.
10208         
10209         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10210         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10211         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10212         * gst/gstbin.h:
10213         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10214         (gst_pipeline_change_state):
10215         * gst/gstpipeline.h:
10216           Move the bus handler for children to the GstBin, and create a
10217           separate bus for receiving messages from children to the one the
10218           bus sends 'upwards' on.
10219
10220 2005-07-06  Wim Taymans  <wim@fluendo.com>
10221
10222         * gst/base/README:
10223         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10224         (gst_base_sink_handle_object), (gst_base_sink_loop),
10225         (gst_base_sink_change_state):
10226         * gst/base/gstbasesink.h:
10227         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10228         (gst_base_src_init), (gst_base_src_setcaps),
10229         (gst_base_src_getcaps), (gst_base_src_loop),
10230         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10231         (gst_base_src_start), (gst_base_src_change_state):
10232         * gst/base/gstbasesrc.h:
10233         Make basesrc negotiate.
10234         Handle the case where preroll fails in basesink.
10235         Update README.
10236
10237 2005-07-06  Wim Taymans  <wim@fluendo.com>
10238
10239         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10240         Implement the fixate function.
10241         Clean up acceptcaps.
10242
10243 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10244
10245         * docs/pwg/building-filterfactory.xml:
10246         * docs/pwg/pwg.xml:
10247           Remove never-written filter-factory chapter; I'll add the various
10248           base classes to part 4 ("other element types") later on.
10249
10250 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10251
10252         * docs/pwg/advanced-negotiation.xml:
10253         * docs/pwg/building-boiler.xml:
10254         * docs/pwg/building-pads.xml:
10255         * docs/pwg/pwg.xml:
10256         * examples/pwg/Makefile.am:
10257           Add a chapter on caps negotiation, simplify the original code
10258           samples a bit w.r.t. caps negotiation, add link to the advanced
10259           section. Add a bunch of examples showing different use cases of
10260           different types of caps negotiation. Upstream renegotiation isn't
10261           fully documented yet since nobody knows how that works.
10262
10263 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10264
10265         * check/gst/gstpad.c:
10266         * check/gstcheck.c:
10267         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10268           if pad has no parent, return NULL as list of internal links
10269
10270 2005-07-05  Andy Wingo  <wingo@pobox.com>
10271
10272         * gst/elements/gstfilesrc.c:
10273         * gst/elements/gstfakesrc.c: 
10274         * gst/base/gstpushsrc.c:
10275         * gst/base/gstbasesrc.h: 
10276         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10277         
10278 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10279
10280         * Makefile.am:
10281           better report generation target (lcov needs a patch)
10282
10283 2005-07-05  Andy Wingo  <wingo@pobox.com>
10284
10285         * gst/elements, testsuite: Null if we got it...
10286
10287 2005-07-05  Wim Taymans  <wim@fluendo.com>
10288
10289         * configure.ac:
10290         * libs/gst/dataprotocol/Makefile.am:
10291         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10292         * libs/gst/dataprotocol/dataprotocol.h:
10293         * pkgconfig/Makefile.am:
10294         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10295         * pkgconfig/gstreamer-dataprotocol.pc.in:
10296         Ported dataprotol to 0.9. 
10297         Added pkgconfig files.
10298
10299 2005-07-05  Andy Wingo  <wingo@pobox.com>
10300
10301         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10302         Default to returning TRUE for the case when tranform_caps returns
10303         a fixed caps, like for identity or volume.
10304
10305         * check/gst/gstbus.c (pound_bus_with_messages): 
10306         * check/gst/gstmessage.c (START_TEST): 
10307         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10308         message API change.
10309
10310         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10311         logic weaks here: always run transform_caps, trying passthrough
10312         operation only if the original caps intersects with the transform.
10313
10314         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10315         source and sink caps.
10316
10317         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10318         Intersect the peer caps with the pad template before going into
10319         transform_caps.
10320         (gst_base_transform_transform_caps): More debugging.
10321
10322         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10323         src argument.
10324
10325 2005-07-04  Edward Hervey  <edward@fluendo.com>
10326
10327         * gst/gstutils.c:
10328         * gst/gstutils.h:
10329         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10330         in bindings.
10331
10332 2005-07-04  Andy Wingo  <wingo@pobox.com>
10333
10334         * check/gst/gstpad.c: Only set explicit caps on pads.
10335
10336 2005-07-01  Andy Wingo  <wingo@pobox.com>
10337
10338         * tests/network-clock.scm: Commentary update.
10339
10340         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10341         Didn't really make sense, not implementable with basetransform,
10342         etc.
10343         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10344         attempt at implementing the sync property, needs an unlock method.
10345
10346         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10347         New func, by default returns the same caps (the identity
10348         transformation).
10349         (gst_base_transform_getcaps): Uses transform_caps to return
10350         something sensible.
10351         (gst_base_transform_setcaps): Complicated logic to get caps on
10352         both pads, even if they are different, and to call set_caps once
10353         for every time both pads get their caps set.
10354         (gst_base_transform_handle_buffer): Give the ref to the transform
10355         function. Allows in-place modification of the buffer.
10356
10357         * gst/base/gstbasetransform.h (transform_caps): New class method.
10358         Given caps on one side, what can I do on the other.
10359         (set_caps): Take two caps, one for each side of the element.
10360
10361         * gst/gstpad.h:
10362         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10363         caps in place. This is safe because we can check the mutability of
10364         the caps, and a good idea because fixate functions are just called
10365         as a matter of last resort. (Not actually implemented.)
10366         (gst_pad_set_caps): If the caps we're setting is actually the same
10367         as the existing pad caps, just update the pointer without calling
10368         setcaps. Assert that caps is either NULL or fixed, as per the
10369         docs.
10370
10371         * gst/gstghostpad.c: Update for fixate changes.
10372
10373 2005-07-02  Andy Wingo  <wingo@pobox.com>
10374
10375         * gst/gstcaps.c:
10376         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10377         two refcounts makes it immutable, which is enough. Doc more.
10378
10379 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10380
10381         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10382           Put the mini_object into GValue as a mini_object,
10383           not a gpointer, since that's how we declared
10384           the signal.
10385
10386 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10387
10388         * examples/pwg/Makefile.am:
10389           Fix buildbot again.
10390
10391 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10392
10393         * docs/pwg/building-testapp.xml:
10394           Add extra check.
10395         * examples/pwg/Makefile.am:
10396           Fix buildbot.
10397
10398 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10399
10400         * configure.ac:
10401         * examples/Makefile.am:
10402         * examples/pwg/Makefile.am:
10403         * examples/pwg/extract.pl:
10404           Enable building the PWG examples.
10405         * docs/pwg/advanced-interfaces.xml:
10406           Add URI interface stub.
10407         * docs/pwg/advanced-types.xml:
10408         * docs/pwg/other-autoplugger.xml:
10409         * docs/pwg/appendix-porting.xml:
10410         * docs/pwg/pwg.xml:
10411           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10412         * docs/pwg/building-boiler.xml:
10413         * docs/pwg/building-chainfn.xml:
10414         * docs/pwg/building-pads.xml:
10415         * docs/pwg/building-props.xml:
10416         * docs/pwg/building-state.xml:
10417         * docs/pwg/building-testapp.xml:
10418           Update the building-*.xml parts for 0.9 changes. All examples
10419           code blocks compile in examples/pwg/*.
10420
10421 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10422
10423         * docs/manual/advanced-autoplugging.xml:
10424         * docs/manual/appendix-checklist.xml:
10425         * docs/manual/appendix-integration.xml:
10426         * docs/manual/highlevel-components.xml:
10427           Fix playbin/decodebin examples, update docs a bit, mention bus
10428           instead of signals in various places, mention kmplayer and
10429           kaffeine since they have a working GStreamer backend in the KDE
10430           section.
10431
10432 2005-06-30  Wim Taymans  <wim@fluendo.com>
10433
10434         * CHANGES-0.9:
10435         * docs/design/draft-ghostpads.txt:
10436         * docs/design/draft-push-pull.txt:
10437         * docs/design/draft-query.txt:
10438         * docs/design/part-TODO.txt:
10439         * docs/design/part-query.txt:
10440         Added CHANGES-0.9 doc, updated status of other docs.
10441         
10442         * gst/gstquery.h:
10443         Remove "hmm" macro
10444
10445 2005-06-30  Wim Taymans  <wim@fluendo.com>
10446
10447         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10448         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10449         (gst_base_sink_change_state):
10450         * gst/base/gstbasesink.h:
10451         Some tweaks, only EOS and a buffer complete a preroll.
10452
10453 2005-06-30  Andy Wingo  <wingo@pobox.com>
10454
10455         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10456         activate_push down to the internal pad as well.
10457
10458 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10459
10460         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10461
10462         * gst/gsttaginterface.c:
10463           Some documentation fixes (#307394 and #307397).
10464
10465 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10466
10467         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10468
10469         * gst/gstvalue.c: (gst_value_intersect_list):
10470           Fix memleak (#309125).
10471
10472 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10473
10474         * docs/manual/advanced-dataaccess.xml:
10475           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10476         * docs/manual/basics-pads.xml:
10477           Add reference for filtered caps to above chapter.
10478
10479 2005-06-30  Wim Taymans  <wim@fluendo.com>
10480
10481         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10482         (gst_bin_change_state):
10483         Probes are gone.
10484         Lame attempt at making the state change function a bit
10485         more readable.
10486
10487 2005-06-30  Wim Taymans  <wim@fluendo.com>
10488
10489         * docs/design/part-clocks.txt:
10490         * docs/design/part-element-sink.txt:
10491         * docs/design/part-events.txt:
10492         * docs/design/part-preroll.txt:
10493         * docs/design/part-states.txt:
10494         Some more tweeks and additions to the docs.
10495
10496 2005-06-30  Wim Taymans  <wim@fluendo.com>
10497
10498         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10499         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10500         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10501         (gst_pad_check_pull_range), (gst_pad_get_range),
10502         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10503         * gst/gstpad.h:
10504         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10505         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10506         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10507         (gst_pad_remove_buffer_probe):
10508         Removed atomic operations, use existing LOCK.
10509         Move exception handling out of main code path.
10510
10511 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10512
10513         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10514         (silly_return_true_function), (gst_pad_class_init),
10515         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10516         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10517         (gst_pad_send_event):
10518           Fix accumulator, add default value by using _emitv() instead
10519           of _emit() for signal emission.
10520
10521 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10522
10523         * docs/manual/advanced-dataaccess.xml:
10524         * examples/manual/Makefile.am:
10525           Add probe example.
10526         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10527           Make work (??).
10528
10529 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10530
10531         * gst/elements/gstfilesink.c: (gst_filesink_render):
10532           Simplify code so that we don't have to handle short
10533           writes and return GST_FLOW_ERROR if an error occured.
10534
10535 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10536
10537         * docs/gst/gstreamer-docs.sgml:
10538           Remove probes more.
10539
10540 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10541
10542         * docs/gst/gstreamer-sections.txt:
10543         * docs/gst/tmpl/gstpad.sgml:
10544         * docs/gst/tmpl/gstprobe.sgml:
10545         * gst/Makefile.am:
10546         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10547         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10548         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10549         (gst_pad_push_event), (gst_pad_send_event):
10550         * gst/gstpad.h:
10551         * gst/gstutils.c: (gst_pad_add_data_probe),
10552         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10553         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10554         (gst_pad_remove_buffer_probe):
10555         * gst/gstutils.h:
10556           Remove old probes, add new g-signal-based probes and some utility
10557           functions.
10558
10559 2005-06-29  Edward Hervey  <edward@fluendo.com>
10560
10561         * gst/gstelementfactory.c:
10562         * gst/gstutils.h:
10563         * gst/gstutils.c:
10564         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10565         the definition to the header file.
10566
10567 2005-06-29  Andy Wingo  <wingo@pobox.com>
10568
10569         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10570         plugins from the source directory.
10571
10572 2005-06-29  Wim Taymans  <wim@fluendo.com>
10573
10574         * docs/gst/tmpl/gstbuffer.sgml:
10575         * docs/gst/tmpl/gstclock.sgml:
10576         Some fixings for blantently wrong text.
10577
10578 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10579
10580         * check/Makefile.am:
10581         * gst/gst.c: (add_path_func), (init_pre):
10582         * gst/gstregistry.c: (gst_registry_add_path):
10583           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10584           only scan the GST_PLUGIN_PATH locations, and not add
10585           system locations
10586
10587 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10588
10589         * docs/gst/gstreamer-sections.txt:
10590         * docs/gst/tmpl/gstbasesrc.sgml:
10591         * gst/gstelement.c:
10592         * gst/gstelement.h:
10593         * gst/gstevent.c:
10594         * gst/gstutils.c:
10595           doc fixes
10596
10597 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10598
10599         * docs/manual/advanced-autoplugging.xml:
10600           Fix autoplugging example.
10601
10602 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10603
10604         * docs/manual/advanced-autoplugging.xml:
10605         * docs/manual/mime-world.fig:
10606           Try to get autoplugging working, fix type detection. Fix text
10607           in hello-world image.
10608
10609 2005-06-29  Wim Taymans  <wim@fluendo.com>
10610
10611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10612         (gst_base_sink_change_state):
10613         Small debug line.
10614
10615         * gst/gstclock.h:
10616         map SIGNAL and BROADCAST to the right function.
10617
10618         * gst/gstobject.h:
10619         Remove redundant braces.
10620
10621         * gst/gstpad.c: (gst_pad_set_caps):
10622         Don't call setcaps function when reseting caps to NULL.
10623
10624         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10625         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10626         (gst_system_clock_id_unschedule):
10627         Use BROADCAST as this is what we do.
10628
10629 2005-06-29  Wim Taymans  <wim@fluendo.com>
10630
10631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10632         We are actually prerolling before commiting the state
10633         change. 
10634
10635 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10636
10637         * docs/manual/advanced-clocks.xml:
10638         * docs/manual/advanced-interfaces.xml:
10639         * docs/manual/advanced-metadata.xml:
10640         * docs/manual/advanced-position.xml:
10641         * docs/manual/advanced-schedulers.xml:
10642         * docs/manual/advanced-threads.xml:
10643         * docs/manual/appendix-porting.xml:
10644         * docs/manual/basics-bins.xml:
10645         * docs/manual/basics-bus.xml:
10646         * docs/manual/basics-elements.xml:
10647         * docs/manual/basics-helloworld.xml:
10648         * docs/manual/basics-pads.xml:
10649         * docs/manual/highlevel-components.xml:
10650         * docs/manual/manual.xml:
10651         * docs/manual/thread.fig:
10652           Update (until threads/scheduling) Application Development Manual;
10653           remove GstThread, add GstBus, add simple porting checklist, add
10654           documentation for tag writing, clocks, make all examples until this
10655           part compile and run.
10656         * examples/manual/Makefile.am:
10657           Update from changes to Application Development Manual; add bus
10658           example, remove thread example.
10659
10660 2005-06-28  Wim Taymans  <wim@fluendo.com>
10661
10662         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10663         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10664         (gst_bus_source_dispatch):
10665         Add debugging messages.
10666         Make internal methods static.
10667         Handle the case where the bus is flushed in the handler.
10668         
10669         * gst/gstelement.c: (gst_element_get_bus):
10670         Fix refcount in _get_bus();
10671
10672         * gst/gstpipeline.c: (gst_pipeline_change_state),
10673         (gst_pipeline_get_clock_func):
10674         Clock refcounting fixes.
10675         Handle the case where preroll timed out more gracefully.
10676         
10677         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10678         Clean up the internal thread in dispose. This is needed
10679         for subclasses that actually get disposed.
10680         
10681         * gst/schedulers/threadscheduler.c:
10682         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10683         (gst_thread_scheduler_dispose):
10684         Free thread pool in dispose.
10685
10686 2005-06-28  Andy Wingo  <wingo@pobox.com>
10687
10688         * tests/network-clock-utils.scm (debug, print-event): New utils.
10689
10690         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10691         (*packet-loss*): Unified loss probability.
10692         (network-time): Report out-of-band events.
10693
10694         * tests/plot-data: Add support for out-of-band events. Hack it
10695         into this script instead of passing it down the pipe; should fix
10696         this later.
10697
10698 2005-06-28  Wim Taymans  <wim@fluendo.com>
10699
10700         * docs/gst/gstreamer.types:
10701         * docs/gst/tmpl/gstbasesrc.sgml:
10702         * docs/gst/tmpl/gstpad.sgml:
10703         Docs fixes.
10704
10705 2005-06-28  Wim Taymans  <wim@fluendo.com>
10706
10707         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10708         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10709         (gst_proxy_pad_do_fixatecaps):
10710         Correctly proxy the check_pull_range function.
10711
10712 2005-06-28  Andy Wingo  <wingo@pobox.com>
10713
10714         * tests/network-clock.scm: Removed need for slib.
10715         
10716 2005-06-28  Wim Taymans  <wim@fluendo.com>
10717
10718         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10719         (gst_basesink_preroll_queue_flush):
10720         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10721         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10722         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10723         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10724         (gst_proxy_pad_set_property):
10725         * gst/gstpad.c:
10726         * gst/gstpad.h:
10727         * gst/gstqueue.c: (gst_queue_init):
10728         The deprecated pad loop function is removed now.
10729
10730 2005-06-28  Andy Wingo  <wingo@pobox.com>
10731
10732         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10733         New parameters, simulate network packet loss.
10734
10735         * tests/network-clock-utils.scm: Initialize the RNG.
10736
10737 2005-06-28  Wim Taymans  <wim@fluendo.com>
10738
10739         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10740         (gst_basesink_event), (gst_basesink_deactivate):
10741         Flushing the preroll queue always needs to unlock the waiters.
10742
10743 2005-06-28  Edward Hervey  <edward@fluendo.com>
10744
10745         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10746         Wheen a seek was successful on a pipeline, set the stream_time to the
10747         seek offset in order to have a synchronized stream_time.
10748
10749 2005-06-28  Wim Taymans  <wim@fluendo.com>
10750
10751         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10752         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10753         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10754         (gst_proxy_pad_do_fixatecaps):
10755         Call wrapper function instead of just calling the function
10756         pointers. This takes care of any locking and whatmore.
10757
10758 2005-06-28  Wim Taymans  <wim@fluendo.com>
10759
10760         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10761         (gst_pad_pull_range):
10762         * gst/gstpad.h:
10763         CONNECTED -> LINKED.
10764
10765 2005-06-28  Andy Wingo  <wingo@pobox.com>
10766
10767         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10768         source-munging commit!!!
10769
10770         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10771         (gst_object_sink): Take gpointer arguments, not GstObject --
10772         avoids casts. Like GLib.
10773
10774         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10775         activate.
10776
10777 2005-06-27  Andy Wingo  <wingo@pobox.com>
10778
10779         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10780         remaining buffer.
10781
10782         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10783         returns a sorted copy of the trace list.
10784         (gst_alloc_trace_print_live): New API, only prints traces with
10785         live objects. Sort the list.
10786         (gst_alloc_trace_print_all): Sort the list.
10787         (gst_alloc_trace_print): Align columns.
10788
10789         * gst/elements/gstttypefindelement.c:
10790         * gst/elements/gsttee.c:
10791         * gst/base/gstbasesrc.c:
10792         * gst/base/gstbasesink.c:
10793         * gst/base/gstbasetransform.c:
10794         * gst/gstqueue.c: Adapt for pad activation changes.
10795
10796         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10797         sched.
10798         (gst_pipeline_dispose): Drop ref on sched.
10799
10800         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10801         (gst_pad_activate_default): Push mode by default.
10802         (pre_activate_switch, post_activate_switch): New stubs, things to
10803         do before and after switching activation modes on pads.
10804         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10805         the pad's activate function to choose which mode to activate.
10806         Shortcut on deactivation and call the right function directly.
10807         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10808         mode.
10809         (gst_pad_activate_push): New API, same for push mode.
10810         (gst_pad_set_activate_function) 
10811         (gst_pad_set_activatepull_function) 
10812         (gst_pad_set_activatepush_function): Setters for new API.
10813
10814         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10815         Trace all miniobjects.
10816         (gst_mini_object_make_writable): Unref the arg if we copy, like
10817         gst_caps_make_writable.
10818
10819         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10820
10821         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10822         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10823         Adapt for new pad API.
10824
10825         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10826
10827         * gst/gstelement.h:
10828         * gst/gstelement.c (gst_element_iterate_src_pads) 
10829         (gst_element_iterate_sink_pads): New API functions.
10830         
10831         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10832         should fold into gstiterator.c in some form.
10833         (gst_element_pads_activate): Simplified via use of fold and
10834         delegation of decisions to gstpad->activate.
10835
10836         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10837         help in debugging.
10838
10839         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10840         class once in init, like gstmessage. Didn't run into this issue
10841         but it seems correct. Don't initialize a trace, gstminiobject does
10842         that.
10843
10844         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10845         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10846         to the bus.
10847         (assert_live_count): New util function, uses alloc traces to check
10848         cleanup.
10849
10850         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10851         To be modified when unlink drops the internal pad.
10852
10853 2005-06-27  Wim Taymans  <wim@fluendo.com>
10854
10855         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10856         (gst_bin_change_state):
10857         Cleanup the get_state() function a little, make sure it
10858         iterates the same set of elements.
10859         Added stub iterate_state_order().
10860
10861 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10862
10863         * docs/gst/gstreamer-docs.sgml:
10864         * docs/gst/gstreamer-sections.txt:
10865         * docs/gst/gstreamer.types:
10866         * docs/gst/tmpl/gstbasesink.sgml:
10867         * docs/gst/tmpl/gstbasesrc.sgml:
10868         * docs/gst/tmpl/gstbasetransform.sgml:
10869         * docs/gst/tmpl/gstelement.sgml:
10870         * docs/gst/tmpl/gstiterator.sgml:
10871         * gst/base/gstbasesrc.c:
10872         * gst/base/gstbasesrc.h:
10873         * gst/base/gstbasetransform.h:
10874         * gst/gstelement.c:
10875         * gst/gstiterator.h:
10876           adding basetransform and iterator docs
10877
10878 2005-06-27  Andy Wingo  <wingo@pobox.com>
10879
10880         * docs/design/part-activation.txt: Notes on how activation should
10881         work -- not quite implemented yet.
10882
10883 2005-06-25  Wim Taymans  <wim@fluendo.com>
10884
10885         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10886         At least get the chain function correct, needs more
10887         fixing.
10888
10889 2005-06-25  Wim Taymans  <wim@fluendo.com>
10890
10891         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10892         (gst_basesink_handle_object), (gst_basesink_event),
10893         (gst_basesink_do_sync), (gst_basesink_handle_event),
10894         (gst_basesink_change_state):
10895         * gst/gsttask.h:
10896         Right, two problems here: ghostpads don't take locks and
10897         glib _rec_mutex_lock_full() with depth==0 still locks.
10898         Catch illegal locking and g_warn them.
10899
10900 2005-06-25  Wim Taymans  <wim@fluendo.com>
10901
10902         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10903         Have to check for completion now...
10904
10905 2005-06-25  Wim Taymans  <wim@fluendo.com>
10906
10907         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10908         (gst_basesink_handle_object), (gst_basesink_event),
10909         (gst_basesink_do_sync), (gst_basesink_handle_event),
10910         (gst_basesink_change_state):
10911         * gst/gstpad.h:
10912         Unlock STREAM_LOCK whatever the recursion was.
10913
10914 2005-06-25  Wim Taymans  <wim@fluendo.com>
10915
10916         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10917         (gst_basesink_preroll_queue_empty),
10918         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10919         (gst_basesink_event), (gst_basesink_do_sync),
10920         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10921         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10922         (gst_basesink_change_state):
10923         Reworked the base sink, handle event and buffer serialisation
10924         correctly and removed possible deadlock.
10925         Handle EOS correctly.
10926
10927 2005-06-25  Wim Taymans  <wim@fluendo.com>
10928
10929         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10930         (gst_pipeline_change_state):
10931         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10932         Allow elements to post EOS in the state change function.
10933         Fix up -launch, make it exit the poll loop when the
10934         pipeline actually changed state.
10935         Fix up warning parsing in -launch.
10936
10937 2005-06-25  Wim Taymans  <wim@fluendo.com>
10938
10939         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10940         (gst_tee_sink_activate):
10941         Core takes STREAM_LOCK for us now.
10942
10943 2005-06-25  Wim Taymans  <wim@fluendo.com>
10944
10945         * gst/gstelement.c: (gst_element_get_state_func),
10946         (gst_element_set_state):
10947         * gst/gstelement.h:
10948         * gst/gstmessage.c: (gst_message_parse_error),
10949         (gst_message_parse_warning):
10950         Keep track of current target state while performing a state
10951         change so that subclasses can do something interesting.
10952         Fix parsing of warning/error messages when GError is NULL.
10953
10954 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10955
10956         * docs/gst/Makefile.am:
10957         * docs/gst/gstreamer-docs.sgml:
10958         * docs/gst/gstreamer-sections.txt:
10959         * docs/gst/gstreamer.types:
10960         * docs/gst/tmpl/gstbasesink.sgml:
10961         * docs/gst/tmpl/gstbasesrc.sgml:
10962         * docs/gst/tmpl/gstbin.sgml:
10963         * docs/gst/tmpl/gstcompat.sgml:
10964         * docs/gst/tmpl/gstfakesink.sgml:
10965         * docs/gst/tmpl/gstfakesrc.sgml:
10966         * docs/gst/tmpl/gstfilesink.sgml:
10967         * docs/gst/tmpl/gstfilesrc.sgml:
10968         * docs/gst/tmpl/gstindex.sgml:
10969         * docs/manual/appendix-quotes.xml:
10970         * gst/base/gstbasesrc.h:
10971         * gst/elements/gstfakesrc.h:
10972         * gst/gstmessage.h:
10973           start pulling in base classes and elements in our docs
10974
10975 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10976
10977         * docs/gst/Makefile.am:
10978         * docs/libs/Makefile.am:
10979           fixed make distcheck with gtk-doc 1.3
10980
10981 2005-06-23  Wim Taymans  <wim@fluendo.com>
10982
10983         * gst/gstelement.c: (gst_element_get_state_func),
10984         (gst_element_set_state), (gst_element_change_state):
10985         When the state did not change, also report NO_PREROLL
10986         when it matters.
10987
10988 2005-06-23  Wim Taymans  <wim@fluendo.com>
10989
10990         * gst/gstpad.c: (gst_pad_event_default):
10991         * gst/gstqueue.c: (gst_queue_loop):
10992         No unsafe task pausing please.
10993
10994 2005-06-23  Wim Taymans  <wim@fluendo.com>
10995
10996         * gst/schedulers/threadscheduler.c:
10997         (gst_thread_scheduler_task_start),
10998         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10999         Ref the task before pushing it on the threadpool. This
11000         makes sure that we have a ref when the threadfunction is
11001         actually called.
11002
11003 2005-06-23  Andy Wingo  <wingo@pobox.com>
11004
11005         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11006         offset is greater than the file's size.
11007
11008         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11009         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11010         * gst/gstobject.c (gst_object_class_init): Make the class lock
11011         recursive. Wim won't let me drop deep_notify. Decodebin works
11012         again, whoopdy doo.
11013
11014         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11015         internal pad, and hacks accordingly. Doesn't do it on the target
11016         pad because we change its caps. Probably catches all cases of
11017         interest tho.
11018         (gst_ghost_pad_set_property): Connect to notify::caps as
11019         appropritate.
11020
11021         * tests/network-clock.scm (plot-simulation): Pipe data to the
11022         elite python skript.
11023
11024         * tests/network-clock-utils.scm (define-parameter): New macro,
11025         defines a parameter that can be set via the command line.
11026         (set-parameter!, parse-parameter-arguments): Command line args
11027         parser.
11028
11029         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11030         stdin.
11031
11032 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11033
11034         * gst/elements/gsttypefindelement.c:
11035         (gst_type_find_element_handle_event):
11036           Don't restart typefinding on a discont.
11037         * gst/gstelement.c: (gst_element_set_state):
11038           Debug spelling fix.
11039         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11040           Allow changing mode of an active pad.
11041           Debug output fixes.
11042         * gst/registries/gstlibxmlregistry.c: (load_feature):
11043           Don't cast a static pad template to a normal pad template.
11044
11045 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11046
11047         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11048         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11049           remove gst_strtoll completely, since it didn't actually do
11050           anything more than what g_ascii_strtoull already does.
11051           check for range errors when deserializing
11052           do a cast for the unsigned cases; but further fixing needs
11053           a decision on what the interpretation of "(int)" and
11054           deserialization should be for values that fall outside the
11055           type's boundaries (ie, refuse, or interpret as casting)
11056
11057 2005-06-23  Wim Taymans  <wim@fluendo.com>
11058
11059         * check/Makefile.am:
11060         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11061         * docs/design/part-live-source.txt:
11062         * docs/design/part-states.txt:
11063         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11064         (gst_basesrc_set_live), (gst_basesrc_is_live),
11065         (gst_basesrc_get_range), (gst_basesrc_activate),
11066         (gst_basesrc_change_state):
11067         * gst/base/gstbasesrc.h:
11068         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11069         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11070         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11071         * gst/gstelement.c: (gst_element_get_state_func),
11072         (gst_element_set_state):
11073         * gst/gstelement.h:
11074         * gst/gsttypes.h:
11075         * tools/gst-launch.c: (event_loop), (main):
11076         Added support for live sources and other elements that
11077         cannot do preroll.
11078         Updated design docs, added live-source design doc.
11079         Implemented live source functionality in basesrc
11080         Fix error condition in _bin_get_state()
11081         Implement live source handling in -launch.
11082         Added check for live sources.
11083         Fixed case in GstBin where elements were changed state
11084         multiple times.
11085
11086
11087 2005-06-23  Andy Wingo  <wingo@pobox.com>
11088
11089         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11090         borken refcounting.
11091
11092         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11093         gst_caps_replace takes care of this for us.
11094
11095         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11096         gst_pad_set_caps on the target, not just its setcaps() function.
11097
11098         * tests/network-clock.scm: 
11099         * tests/network-clock-utils.scm: A network clock simulator.
11100         Something of an algorithmic testbed before doing something in C.
11101
11102 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * check/Makefile.am:
11105         * check/gst/capslist.h:
11106           copy over from 0.8, and add two with bitmasks specified with
11107           (int) 0xFF...
11108         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11109           add test to parse everything from capslist.h
11110         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11111         (main):
11112           add test for structure deserialization
11113         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11114           add tests for deserialization of strings to int types
11115         * gst/gststructure.c: (gst_structure_nth_field_name):
11116         * gst/gststructure.h:
11117           add a way to get the name of a field referenced by index
11118         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11119           instead of checking if the resulting long long lies between
11120           min and max, we check if the long long would fit into
11121           a number of bytes for the final type.
11122           This fixes cases where a string represents 2^32 - 1, which
11123           when cast to int would be the (valid) -1, but is bigger than
11124           G_MAXINT
11125
11126 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11127
11128         * gst/parse/grammar.y:
11129           add a log line for type deserialization
11130
11131 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * check/gst/gstvalue.c: (START_TEST):
11134         * gst/gstvalue.c: (gst_value_deserialize):
11135           return long long, not int, so gint64 deserialization actually
11136           works.  Is there any flag that makes the compiler check this ?
11137           Fixes #308559
11138
11139 2005-06-22  Wim Taymans  <wim@fluendo.com>
11140
11141         * gst/gstbuffer.h:
11142         Added convenience macros for setting buffers in GValue.
11143
11144 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11145
11146         * check/gst/.cvsignore:
11147         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11148           add a test deserializing int64, and comment part out because
11149           it fails, yay !
11150
11151 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11152
11153         * check/Makefile.am:
11154         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11155         * testsuite/Makefile.am:
11156         * testsuite/caps/Makefile.am:
11157         * testsuite/caps/value_serialize.c:
11158         * testsuite/test_gst_init.c:
11159           move a value_serialize test over
11160
11161 2005-06-20  Wim Taymans  <wim@fluendo.com>
11162
11163         * gst/gstpad.c:
11164         Small doc updates.
11165         
11166         * gst/gstvalue.c: (gst_value_compare_buffer),
11167         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11168         (gst_value_compare_flags), (gst_value_serialize_flags),
11169         (gst_value_deserialize_flags), (_gst_value_initialize):
11170         Fix serialisation of buffers, they are not boxed types anymore
11171
11172 2005-06-20  Wim Taymans  <wim@fluendo.com>
11173
11174         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11175         Testcase to show error in buffer-on-caps serialisation.
11176
11177 2005-06-20  Andy Wingo  <wingo@pobox.com>
11178
11179         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11180         will be adding to later.
11181
11182         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11183         if its socks fill with rocks.
11184         (gst_system_clock_obtain): Set the name on object construction.
11185         Avoid double-checked locking.
11186
11187 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11188
11189         * gst/gsturi.c: (gst_element_make_from_uri):
11190           Fix potential endless loop.
11191
11192 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * check/Makefile.am:
11195           add gsttag
11196         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11197         (main):
11198           move over from testsuite dir and clean up
11199         * configure.ac:
11200         * gst/gsttag.c:
11201         * testsuite/Makefile.am:
11202         * testsuite/tags/.cvsignore:
11203         * testsuite/tags/Makefile.am:
11204         * testsuite/tags/merge.c:
11205           remove testsuite/tags
11206
11207 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11208
11209         * docs/gst/gstreamer-sections.txt:
11210         * docs/gst/tmpl/gstenumtypes.sgml:
11211         * win32/gstenumtypes.c:
11212           clean up documentation build a little
11213
11214 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11215
11216         * check/gstcheck.h:
11217           add macros for checking refcounts on objects and caps
11218         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11219           add some more unit tests
11220         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11221         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11222           fix leaked refcounts (I hope :)) so unittest works
11223         * gst/gstpad.h:
11224           whitespace removal
11225
11226 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11227
11228         * configure.ac: back to HEAD
11229
11230 === release 0.9.1 ===
11231
11232 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11233
11234         * NEWS:
11235         * RELEASE:
11236           updated
11237
11238 2005-06-17  Andy Wingo  <wingo@pobox.com>
11239
11240         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11241         assert; it's always possible that the pad gets deactivated in
11242         between the checks in gstpad.c and the implementation. Rely on
11243         finish_preroll() to return a FLUSHING or similar instead of on the
11244         assert.
11245         
11246         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11247         clock and post an EOS message if we come out of finish_preroll in
11248         the playing state.
11249
11250 2005-06-16  David Schleef  <ds@schleef.org>
11251
11252         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11253         (gst_capsfilter_set_property): Allow NULL as possible value
11254         for filter_caps property, indicating GST_CAPS_ANY.
11255
11256 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11257
11258         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11259           fix debug output
11260         * gst/schedulers/Makefile.am:
11261           use libgst prefix
11262         * gstreamer.spec.in:
11263           fix spec for it
11264
11265 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11266
11267         * gstreamer.spec.in:
11268           clean up
11269
11270 2005-06-08  Andy Wingo  <wingo@pobox.com>
11271
11272         * gst/gstutils.c: RPAD fixes all around.
11273         (gst_element_link_pads): Refcounting fixes.
11274
11275         * tools/gst-inspect.c:
11276         * tools/gst-xmlinspect.c:
11277         * parse/grammar.y:
11278         * gst/base/gsttypefindhelper.c:
11279         * gst/base/gstbasesink.c:
11280         * gst/gstqueue.c: RPAD fixes.
11281
11282         * gst/gstghostpad.h:
11283         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11284         pads. The tricky thing is they provide both source and sink
11285         interfaces, since they proxy the internal pad for the external
11286         pad, and vice versa. Implement with lower-level ProxyPad objects,
11287         with the interior proxy pad as a child of the exterior ghost pad.
11288         Should write a doc on this.
11289         
11290         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11291         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11292         gst_object API.
11293         
11294         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11295         pads are real pads. No ghost pads in this file. Not documenting
11296         the myriad s/RPAD/PAD/ and REALIZE fixes.
11297         (gst_pad_class_init): Add properties for "direction" and
11298         "template". Both are construct-only, so they can't change during
11299         the life of the pad. Fixes properly deriving from GstPad.
11300         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11301         derived objects, just set properties when creating the objects via
11302         g_object_new.
11303         (gst_pad_get_parent): Implement as a function, return NULL if the
11304         parent is not an element.
11305         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11306         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11307         
11308         * gst/gstobject.c (gst_object_class_init): Make name a construct
11309         property. Don't set it in the object init.
11310
11311         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11312         with UNKNOWN direction.
11313         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11314         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11315         (gst_element_remove_pad): Remove ghost-pad special cases.
11316         (gst_element_pads_activate): Remove rpad cruft.
11317
11318         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11319         catch the pad's-parent-not-an-element case.
11320
11321         * gst/gst.h: Include gstghostpad.h.
11322
11323         * gst/gst.c (init_post): No more real, ghost pads.
11324
11325         * gst/Makefile.am: Add gstghostpad.[ch].
11326
11327         * check/Makefile.am:
11328         * check/gst/gstbin.c:
11329         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11330         into a bin creates ghost pads, and that the refcounts are right.
11331         Partly moved from gstbin.c.
11332
11333 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11334
11335         * check/gst-libs/.cvsignore:
11336         * check/gst/.cvsignore:
11337         * check/pipelines/.cvsignore:
11338           ignore more
11339         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11340         (START_TEST), (cleanup_suite), (main):
11341           add some tests related to cleanup after running pipelines
11342
11343 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11346           add a testsuite for GstBuffer
11347
11348 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11349
11350         * gst/gstminiobject.h:
11351           add defines for accessing the refcount
11352
11353 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11354
11355         * Makefile.am: added support for html unit test coverage reports
11356
11357 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11358
11359         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11360           Free existing caps if the capsfilter changes. Add a FIXME about
11361           setting those caps on the pads.
11362
11363         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11364           Before adding a ghost pad to a parent bin, check that there isn't
11365           already one for the element on the bin. Prevents infinite recursion
11366           when using decodebin in parse pipelines. Andy says he'll rewrite the
11367           way this works anyway, so ignore the hack.
11368
11369 2005-06-02  Andy Wingo  <wingo@pobox.com>
11370
11371         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11372         file size, pass it on to the type find helper.
11373
11374         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11375         segment_start and segment_end properly according to the seek
11376         method. Segment_end is still a bit flaky because offset can be
11377         negative for CUR and END cases, but it takes -1 as an "unset"
11378         value.
11379
11380 2005-06-02  Wim Taymans  <wim@fluendo.com>
11381
11382         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11383         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11384         (gst_basesink_activate):
11385         * gst/base/gstbasesink.h:
11386         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11387         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11388         (gst_pad_query), (gst_pad_start_task):
11389         * gst/gstpad.h:
11390         * gst/gstqueue.c: (gst_queue_bufferalloc),
11391         (gst_queue_handle_sink_event), (gst_queue_chain):
11392         Bufferalloc: return GstFlowReturn to more accuratly report
11393         why allocation failed.
11394
11395 2005-06-02  Wim Taymans  <wim@fluendo.com>
11396
11397         * gst/gstpipeline.c: (gst_pipeline_send_event):
11398         Take snapshot of state without blocking.
11399
11400 2005-06-02  Wim Taymans  <wim@fluendo.com>
11401
11402         * docs/design/part-TODO.txt:
11403         * docs/design/part-caps.txt:
11404         * docs/design/part-clocks.txt:
11405         * docs/design/part-negotiation.txt:
11406         * docs/design/part-preroll.txt:
11407         Small doc updates 
11408
11409 2005-05-30  Wim Taymans  <wim@fluendo.com>
11410
11411         * gst/elements/gstidentity.c: (gst_identity_event),
11412         (gst_identity_transform), (gst_identity_get_property):
11413         Protect last_message property as it is accessed from
11414         multiple threads.
11415
11416 2005-05-30  Wim Taymans  <wim@fluendo.com>
11417
11418         * gst/gstelement.c: (gst_element_init),
11419         (gst_element_pads_activate), (gst_element_change_state):
11420         Slicker pad activation code.
11421
11422 2005-05-30  Wim Taymans  <wim@fluendo.com>
11423
11424         * gst/Makefile.am:
11425         * gst/gstelement.h:
11426         * gst/gstelementfactory.h:
11427         * gst/gsttypes.h:
11428         Move elementfactory methods to separate .h file.
11429
11430 2005-05-30  Wim Taymans  <wim@fluendo.com>
11431
11432         * docs/design/part-overview.txt:
11433         * gst/gstsystemclock.h:
11434         Small typo fixes, doc updates.
11435
11436 2005-05-30  Wim Taymans  <wim@fluendo.com>
11437
11438         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11439         (init_popt_callback):
11440         Remove cpu-opt flag.
11441
11442 2005-05-30  Wim Taymans  <wim@fluendo.com>
11443
11444         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11445         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11446         * gst/gstbuffer.h:
11447         Avoid typechecking in places where not needed.
11448         Added accessor for malloc_data.
11449
11450 2005-05-30  Wim Taymans  <wim@fluendo.com>
11451
11452         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11453         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11454         (gst_pad_configure_sink), (gst_pad_configure_src),
11455         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11456         (gst_pad_start_task):
11457         Propagate errors from _set_caps() in configure_src/sink
11458         functions instead of returning TRUE.
11459         FLUSH events can travel up and downstream
11460
11461
11462 2005-05-30  Wim Taymans  <wim@fluendo.com>
11463
11464         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11465         (gst_basesink_activate):
11466         Handle EOS in preroll.
11467
11468 2005-05-30  Wim Taymans  <wim@fluendo.com>
11469
11470         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11471         (gst_queue_loop), (gst_queue_handle_src_event):
11472         Remove old pieces of code
11473         Flushing the queue in an upstream event is a very bad idea.
11474
11475 2005-05-26  Andy Wingo  <wingo@pobox.com>
11476
11477         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11478         gst_value_set_mini_object so as to add a ref on the object (which
11479         will be removed when the value is unset).
11480
11481         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11482         arg type in ::handoff.
11483
11484         * gst/gstelement.c (gst_element_change_state): Also deactivate
11485         pads in READY->NULL, just in case the element didn't make it to
11486         PAUSED. Wingo tested, Wim approved.
11487
11488 2005-05-26  Wim Taymans  <wim@fluendo.com>
11489
11490         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11491         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11492         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11493         A flushing pad cannot be used to alloc_buffer from.
11494
11495 2005-05-26  Wim Taymans  <wim@fluendo.com>
11496
11497         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11498         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11499         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11500         (gst_bus_create_watch), (gst_bus_add_watch_full):
11501         * gst/gstbus.h:
11502         Implement a real GSource and use g_main_context_wakeup() to
11503         signal new messages instead of the socketpair.
11504
11505 2005-05-25  Wim Taymans  <wim@fluendo.com>
11506
11507         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11508         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11509         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11510         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11511         (gst_pad_send_event), (gst_pad_start_task):
11512         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11513         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11514         (gst_queue_sink_activate), (gst_queue_src_activate),
11515         (gst_queue_change_state):
11516         * gst/gstqueue.h:
11517         Fix state changes for non sinks. We now change sinks, then elements
11518         with unconnected srcpads, then the rest.
11519         More efficient queue unlocking in flush and state changes.
11520         Set the pad activate mode even if it does not have an activate
11521         function.
11522
11523 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11524
11525         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11526           Don't go in pull mode for non-seekable sources.
11527         * gst/elements/gsttypefindelement.h:
11528         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11529         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11530         (free_entry), (stop_typefinding),
11531         (gst_type_find_element_handle_event), (find_peek),
11532         (gst_type_find_element_chain), (do_pull_typefind),
11533         (gst_type_find_element_change_state):
11534           Allow typefinding (w/o seeking) in push-mode, simplified version
11535           of what was in 0.8.
11536         * gst/gstutils.c: (gst_buffer_join):
11537         * gst/gstutils.h:
11538           gst_buffer_join() from 0.8.
11539
11540 2005-05-25  Wim Taymans  <wim@fluendo.com>
11541
11542         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11543         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11544         (gst_pad_send_event), (gst_pad_start_task):
11545         Disable attempt at mode switching until it is figured out.
11546
11547 2005-05-25  Wim Taymans  <wim@fluendo.com>
11548
11549         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11550         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11551         (gst_basesink_finish_preroll), (gst_basesink_chain),
11552         (gst_basesink_loop), (gst_basesink_activate),
11553         (gst_basesink_change_state):
11554         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11555         (gst_basesrc_get_range), (gst_basesrc_loop),
11556         (gst_basesrc_activate):
11557         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11558         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11559         (gst_real_pad_init), (gst_real_pad_set_property),
11560         (gst_real_pad_get_property), (gst_pad_set_active),
11561         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11562         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11563         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11564         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11565         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11566         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11567         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11568         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11569         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11570         (gst_pad_stop_task):
11571         * gst/gstpad.h:
11572         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11573         (gst_queue_loop), (gst_queue_src_activate):
11574         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11575         (gst_task_get_state):
11576         * gst/gsttask.h:
11577         * gst/schedulers/threadscheduler.c:
11578         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11579         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11580         in task function.
11581         Remove ACTIVE pad flag, use FLUSHING everywhere
11582         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11583         functions.
11584         Add locks around IS_FLUSHING when reading.
11585         Take STREAM lock in chain(), get_range() functions so plugins
11586         don't need to take it anymore.
11587         
11588
11589
11590 2005-05-25  Wim Taymans  <wim@fluendo.com>
11591
11592         * tools/gst-launch.c: (event_loop):
11593         Unref message after using its contents instead of
11594         before.
11595
11596 2005-05-24  Wim Taymans  <wim@fluendo.com>
11597
11598         * docs/design/draft-ghostpads.txt:
11599         * docs/design/draft-push-pull.txt:
11600         * docs/design/draft-query.txt:
11601         * docs/design/part-overview.txt:
11602         Docs updates, added general overview doc.
11603
11604 2005-05-21  David Schleef  <ds@schleef.org>
11605
11606         * docs/gst/tmpl/old/GstBin.sgml:
11607         * docs/gst/tmpl/old/GstBuffer.sgml:
11608         * docs/gst/tmpl/old/GstCaps.sgml:
11609         * docs/gst/tmpl/old/GstClock.sgml:
11610         * docs/gst/tmpl/old/GstCompat.sgml:
11611         * docs/gst/tmpl/old/GstData.sgml:
11612         * docs/gst/tmpl/old/GstElement.sgml:
11613         * docs/gst/tmpl/old/GstEvent.sgml:
11614         * docs/gst/tmpl/old/GstIndex.sgml:
11615         * docs/gst/tmpl/old/GstStructure.sgml:
11616         * docs/gst/tmpl/old/GstTag.sgml:
11617         * docs/gst/tmpl/old/cothreads.sgml:
11618         * docs/gst/tmpl/old/cothreads_compat.sgml:
11619         * docs/gst/tmpl/old/gettext.sgml:
11620         * docs/gst/tmpl/old/gobject2gtk.sgml:
11621         * docs/gst/tmpl/old/grammar.tab.sgml:
11622         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11623         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11624         * docs/gst/tmpl/old/gst_private.sgml:
11625         * docs/gst/tmpl/old/gstaggregator.sgml:
11626         * docs/gst/tmpl/old/gstarch.sgml:
11627         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11628         * docs/gst/tmpl/old/gstbufferstore.sgml:
11629         * docs/gst/tmpl/old/gstdata_private.sgml:
11630         * docs/gst/tmpl/old/gstdisksink.sgml:
11631         * docs/gst/tmpl/old/gstdisksrc.sgml:
11632         * docs/gst/tmpl/old/gstelementfactory.sgml:
11633         * docs/gst/tmpl/old/gstextratypes.sgml:
11634         * docs/gst/tmpl/old/gstfakesink.sgml:
11635         * docs/gst/tmpl/old/gstfakesrc.sgml:
11636         * docs/gst/tmpl/old/gstfdsink.sgml:
11637         * docs/gst/tmpl/old/gstfdsrc.sgml:
11638         * docs/gst/tmpl/old/gstfilesink.sgml:
11639         * docs/gst/tmpl/old/gstfilesrc.sgml:
11640         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11641         * docs/gst/tmpl/old/gstidentity.sgml:
11642         * docs/gst/tmpl/old/gstindexfactory.sgml:
11643         * docs/gst/tmpl/old/gstmarshal.sgml:
11644         * docs/gst/tmpl/old/gstmd5sink.sgml:
11645         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11646         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11647         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11648         * docs/gst/tmpl/old/gstpipefilter.sgml:
11649         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11650         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11651         * docs/gst/tmpl/old/gstshaper.sgml:
11652         * docs/gst/tmpl/old/gstspider.sgml:
11653         * docs/gst/tmpl/old/gstspideridentity.sgml:
11654         * docs/gst/tmpl/old/gststatistics.sgml:
11655         * docs/gst/tmpl/old/gsttee.sgml:
11656         * docs/gst/tmpl/old/gsttimecache.sgml:
11657         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11658         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11659         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11660         * docs/gst/tmpl/old/types.sgml:
11661           I didn't intend to add these or check them in.
11662
11663 2005-05-19  David Schleef  <ds@schleef.org>
11664
11665         * configure.ac: Use -no-common everywhere.  In a sane world, it
11666           would be the default in libtool, because without it, you can't
11667           build DLLs on Windows.
11668         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11669         * docs/gst/gstreamer-sections.txt:
11670         * docs/gst/tmpl/gstcpu.sgml:
11671         * docs/gst/tmpl/gstdata.sgml:
11672         * docs/gst/tmpl/gstthread.sgml:
11673
11674 2005-05-19  David Schleef  <ds@schleef.org>
11675
11676         * gst/gstminiobject.c: (gst_value_set_mini_object),
11677         (gst_value_take_mini_object), (gst_value_get_mini_object):
11678         * gst/gstminiobject.h: Add GValue set/get functions.
11679
11680 2005-05-19  Wim Taymans  <wim@fluendo.com>
11681
11682         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11683         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11684         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11685         * gst/gstbuffer.h:
11686         * gst/gstbus.c: (gst_bus_post):
11687         * gst/gstelement.c: (gst_element_get_random_pad):
11688         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11689         Make subbufer unref the parent in finalize.
11690         some more debugging info.
11691
11692
11693 2005-05-19  Wim Taymans  <wim@fluendo.com>
11694
11695         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11696         (gst_basesink_init), (gst_basesink_finalize),
11697         (gst_basesink_activate), (gst_basesink_change_state):
11698         Don't free preroll queue too early.
11699
11700 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11701
11702         * gst/Makefile.am:
11703         * gst/ROADMAP:
11704           Hi, I'm outdated. Please shoot me.
11705
11706 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11707
11708         * gst/gstpipeline.c: (gst_pipeline_send_event):
11709           Do not access variables after they have been deleted.
11710
11711 2005-05-19  Wim Taymans  <wim@fluendo.com>
11712
11713         * tools/gst-inspect.c: (print_plugin_features):
11714         A plugin feature does unfortunatly not use the
11715         object name yet...
11716
11717 2005-05-18  Wim Taymans  <wim@fluendo.com>
11718
11719         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11720         Port _span() functions to new subbuffers.
11721
11722 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11723
11724         * gst/gstbin.c: (gst_bin_add_func):
11725           Fix clock settery in bins when adding kids after the clock has
11726           been selected.
11727
11728 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11729
11730         * gst/elements/gstidentity.c: (gst_identity_class_init):
11731           Workaround until signals support GstMiniObject.
11732
11733 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11734
11735         * gst/gstbuffer.c:
11736         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11737
11738 2005-05-18  Wim Taymans  <wim@fluendo.com>
11739
11740         * gst/base/Makefile.am:
11741         * gst/base/gstadapter.c: (gst_adapter_base_init),
11742         (gst_adapter_class_init), (gst_adapter_init),
11743         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11744         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11745         (gst_adapter_flush), (gst_adapter_available),
11746         (gst_adapter_available_fast):
11747         * gst/base/gstadapter.h:
11748         Ported and added adapter to the base classes.
11749
11750 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11751
11752         * gst/gst.c:
11753         * gst/gstmessage.c:
11754           Make sure the class is reffed/unreffed once before threads can be
11755           used.  Fixes #304551.
11756
11757 2005-05-17  Wim Taymans  <wim@fluendo.com>
11758
11759         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11760         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11761         * gst/gstminiobject.c: (gst_mini_object_get_type),
11762         (gst_mini_object_free):
11763         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11764         (gst_pad_push), (gst_pad_push_event):
11765         * gst/gstqueue.c: (gst_queue_change_state):
11766         Don't queue buffers in basesink when we are flushing.
11767         Unref buffer when flushing in basesink.
11768         Flush queue when going to READY
11769         Unref buffer when _push() returns an error.
11770         Don't free MiniObject instance when refcount is incremented
11771         in _finalize() so that we can recover objects.
11772
11773 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11774
11775         * docs/manual/advanced-schedulers.xml:
11776         * docs/manual/appendix-checklist.xml:
11777         * docs/pwg/advanced-clock.xml:
11778         * docs/pwg/advanced-interfaces.xml:
11779         * docs/pwg/advanced-request.xml:
11780         * docs/pwg/advanced-types.xml:
11781         * docs/pwg/intro-preface.xml:
11782         * examples/plugins/example.c: (gst_example_get_type),
11783         (gst_example_class_init), (gst_example_chain),
11784         (gst_example_set_property), (gst_example_get_property),
11785         (gst_example_change_state), (plugin_init):
11786         * examples/plugins/example.h:
11787           small doc fixes
11788
11789 2005-05-17  Wim Taymans  <wim@fluendo.com>
11790
11791         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11792         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11793         * gst/gstqueue.c: (gst_queue_change_state):
11794         Clear queue when going to READY.
11795         Remove IN_SETCAPS flag too.
11796
11797 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11798
11799         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11800           Remove implicit cast from gboolean to GstElementStateReturn;
11801           make sure we still return failure in paused => ready case if
11802           the parent class fails to change state and our own stop 
11803           vfunc succeeds.
11804
11805 2005-05-17  Wim Taymans  <wim@fluendo.com>
11806
11807         * tools/gst-launch.c: (event_loop):
11808         Message was unreffed too soon.
11809
11810 2005-05-16  Andy Wingo  <wingo@pobox.com>
11811
11812         * gst/gstbin.c (sink_iterator_filter): Err... um...
11813
11814         * check/gst/gstbin.c (test_ghost_pads): New test for the
11815         ghosting-if-elements-not-in-same-bin behavior.
11816
11817 2005-05-16  David Schleef  <ds@schleef.org>
11818
11819         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11820         accessing refcount directly.
11821
11822 2005-05-15  David Schleef  <ds@schleef.org>
11823
11824         * check/Makefile.am: remove GstData checks
11825         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11826         * gst/Makefile.am: add miniobject, remove data
11827         * gst/gst.h: add miniobject, remove data
11828         * gst/gstdata.c: remove
11829         * gst/gstdata.h: remove
11830         * gst/gstdata_private.h: remove
11831         * gst/gsttypes.h: remove GstEvent and GstMessage
11832         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11833         * gst/gstmarshal.list: change BOXED -> OBJECT
11834
11835         Implement GstMiniObject.
11836         * gst/gstminiobject.c:
11837         * gst/gstminiobject.h:
11838
11839         Modify to be subclasses of GstMiniObject.
11840         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11841         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11842         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11843         (gst_subbuffer_get_type), (gst_subbuffer_init),
11844         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11845         (gst_buffer_span):
11846         * gst/gstbuffer.h:
11847         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11848         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11849         (_gst_event_copy), (gst_event_new):
11850         * gst/gstevent.h:
11851         * gst/gstmessage.c: (_gst_message_initialize),
11852         (gst_message_get_type), (gst_message_class_init),
11853         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11854         (gst_message_new), (gst_message_new_error),
11855         (gst_message_new_warning), (gst_message_new_tag),
11856         (gst_message_new_state_changed), (gst_message_new_application):
11857         * gst/gstmessage.h:
11858         * gst/gstprobe.c: (gst_probe_perform),
11859         (gst_probe_dispatcher_dispatch):
11860         * gst/gstprobe.h:
11861         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11862         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11863         (_gst_query_copy), (gst_query_new):
11864
11865         Update elements for GstData -> GstMiniObject changes
11866         * gst/gstquery.h:
11867         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11868         (gst_queue_chain), (gst_queue_loop):
11869         * gst/elements/gstbufferstore.c:
11870         (gst_buffer_store_add_buffer_func),
11871         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11872         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11873         (gst_fakesink_render):
11874         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11875         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11876         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11877         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11878         (gst_filesrc_create_read):
11879         * gst/elements/gstidentity.c: (gst_identity_class_init):
11880         * gst/elements/gsttypefindelement.c:
11881         (gst_type_find_element_src_event), (free_entry_buffers),
11882         (gst_type_find_element_handle_event):
11883         * libs/gst/dataprotocol/dataprotocol.c:
11884         (gst_dp_header_from_buffer):
11885         * libs/gst/dataprotocol/dataprotocol.h:
11886         * libs/gst/dataprotocol/dp-private.h:
11887
11888 2005-05-15  David Schleef  <ds@schleef.org>
11889
11890         * gst/elements/gstelements.c: Don't include headers that were
11891         just removed.
11892
11893 2005-05-15  David Schleef  <ds@schleef.org>
11894
11895         * gst/elements/Makefile.am: Remove some elements that don't
11896         need to be in the core (or even exist at all).
11897         * gst/elements/gstaggregator.c:
11898         * gst/elements/gstaggregator.h:
11899         * gst/elements/gstmd5sink.c:
11900         * gst/elements/gstmd5sink.h:
11901         * gst/elements/gstmultifilesrc.c:
11902         * gst/elements/gstmultifilesrc.h:
11903         * gst/elements/gstpipefilter.c:
11904         * gst/elements/gstpipefilter.h:
11905         * gst/elements/gstshaper.c:
11906         * gst/elements/gstshaper.h:
11907         * gst/elements/gststatistics.c:
11908         * gst/elements/gststatistics.h:
11909         * po/POTFILES.in: Remove above files.
11910
11911 2005-05-14  Andy Wingo  <wingo@pobox.com>
11912
11913         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11914         so as to get the refs right.
11915         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11916         unreffing objects that don't pass the filter.
11917
11918         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11919         gst_element_set_bus.
11920         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11921         normal cases, this will destroy the bus.
11922
11923         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11924         object.
11925
11926         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11927         has no sinks.
11928
11929 2005-05-13  Andy Wingo  <wingo@pobox.com>
11930
11931         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11932         gst_pad_link, call pad_link_maybe_ghosting,
11933         (pad_link_maybe_ghosting): Links pads, making sure that the
11934         elements being linked are in the same bin.
11935         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11936         Helpers for pad_link_maybe_ghosting.
11937
11938 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11939
11940         * configure.ac:
11941           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11942
11943 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11944
11945         * docs/design/part-element-source.txt:
11946           Mention GstPushSrc
11947
11948 2005-05-12  Wim Taymans  <wim@fluendo.com>
11949
11950         * gst/base/gstbasesink.c: (gst_basesink_init),
11951         (gst_basesink_activate):
11952         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11953         (gst_basesrc_is_seekable):
11954         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11955         (bin_element_is_sink), (gst_bin_change_state):
11956         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11957         * gst/gstelement.h:
11958         Identify sinks by their flag to avoid overly complicated
11959         checks (fow now).
11960         Do state changes even for elements not reachable from the
11961         sinks.
11962         BaseSink is a sink now :)
11963         Some more debugging info in the basesrc.
11964
11965
11966 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11967
11968         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11969           Implement _query on a bin, similar to _send_event.
11970
11971 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11972
11973         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11974           Discont event offset format should be GST_FORMAT_BYTES,
11975           not GST_FORMAT_TIME.
11976
11977 2005-05-12  Wim Taymans  <wim@fluendo.com>
11978
11979         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11980         Same fix as Ronald's but without the signal. 
11981
11982 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11983
11984         * gst/gstutils.c: (gst_element_query_position):
11985           No, an element is not a pad.
11986
11987 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11988
11989         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11990         (gst_bin_get_state):
11991           If a child is removed from a bin while we remove the child from
11992           the bin and while we're retrieving its state, signal this to the
11993           get_state function so we abort the wait (instead of waiting for
11994           a timeout) and can immediately re-iterate over all other elements.
11995
11996 2005-05-12  Wim Taymans  <wim@fluendo.com>
11997
11998         * gst/base/Makefile.am:
11999         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12000         (gst_basesrc_start):
12001         * gst/base/gstbasesrc.h:
12002         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12003         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12004         (gst_pushsrc_init), (gst_pushsrc_create):
12005         * gst/base/gstpushsrc.h:
12006         Added is_seekable to BaseSrc
12007         Added simple PushSrc.
12008
12009 2005-05-11  Wim Taymans  <wim@fluendo.com>
12010
12011         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12012         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12013         (gst_element_link_pads), (gst_element_query_position),
12014         (gst_element_query_convert), (intersect_caps_func),
12015         (gst_pad_query_position), (gst_pad_query_convert):
12016         Fix refcounting in utils function.
12017         No point in trying to activate a pad when it's added, it could
12018         be added from the state change function and then we deadlock, the
12019         element has to decide what to do.
12020
12021 2005-05-10  Andy Wingo  <wingo@pobox.com>
12022
12023         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12024         *all* the arguments.
12025
12026         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12027         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12028         lock (according to the docs -- if this is wrong change the docs).
12029
12030         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12031         flush messages in the NULL state.
12032
12033         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12034         message immediately and return.
12035         (gst_bus_set_flushing): New function. If a bus is flushing, it
12036         flushes out any queued messages and immediately unrefs new
12037         messages. This is so when an element goes to NULL, all of the
12038         unhandled messages coming from it can be freed, and their
12039         references to the element dropped. In other words: message source
12040         ref considered harmful :P
12041
12042         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12043         we're finished with it.
12044
12045         * gst/gstmessage.c (gst_message_new_state_changed): 
12046
12047 2005-05-10  Wim Taymans  <wim@fluendo.com>
12048
12049         * gst/gstvalue.c: (gst_value_compare_flags),
12050         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12051         (_gst_value_initialize):
12052         Added flags serialize/deserialize/compare code.
12053
12054 2005-05-09  Andy Wingo  <wingo@pobox.com>
12055
12056         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12057         Intersect the peer's caps with our caps.
12058
12059 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12060
12061         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12062         * gst/elements/gsttypefindelement.c: (find_peek):
12063           Handle negative offsets better. Fixes decodebin.
12064
12065 2005-05-09  Wim Taymans  <wim@fluendo.com>
12066
12067         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12068         (gst_base_transform_event):
12069         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12070         Implement accept_caps.
12071         Fix silly lock/unlock mismatch in base class.
12072
12073 2005-05-09  Wim Taymans  <wim@fluendo.com>
12074
12075         * docs/design/draft-push-pull.txt:
12076         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12077         * gst/elements/gstfilesink.c: (gst_filesink_init),
12078         (gst_filesink_query):
12079         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12080         (gst_type_find_handle_src_query), (find_element_get_length):
12081         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12082         * gst/gstelement.h:
12083         * gst/gstmessage.c:
12084         * gst/gstmessage.h:
12085         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12086         (gst_real_pad_get_caps_unlocked),
12087         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12088         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12089         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12090         (gst_real_pad_dispose), (gst_real_pad_finalize),
12091         (gst_pad_load_and_link), (gst_pad_save_thyself),
12092         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12093         (gst_pad_check_pull_range), (gst_pad_pull_range),
12094         (gst_pad_template_get_type), (gst_pad_template_class_init),
12095         (gst_pad_template_init), (gst_pad_template_dispose),
12096         (name_is_valid), (gst_static_pad_template_get),
12097         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12098         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12099         (gst_pad_get_element_private), (gst_pad_start_task),
12100         (gst_pad_pause_task), (gst_pad_stop_task),
12101         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12102         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12103         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12104         (gst_ghost_pad_new):
12105         * gst/gstpad.h:
12106         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12107         (gst_query_new_position), (gst_query_set_position),
12108         (gst_query_parse_position), (gst_query_new_convert),
12109         (gst_query_set_convert), (gst_query_parse_convert):
12110         * gst/gstquery.h:
12111         * gst/gstqueryutils.c:
12112         * gst/gstqueryutils.h:
12113         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12114         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12115         (gst_queue_handle_src_query):
12116         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12117         (gst_element_query_position), (gst_element_query_convert),
12118         (intersect_caps_func), (gst_pad_query_position),
12119         (gst_pad_query_convert):
12120         * gst/gstutils.h:
12121         * tools/gst-inspect.c: (print_pad_info):
12122         * tools/gst-xmlinspect.c: (print_element_info):
12123         Remove old query functions. Ported old code.
12124         Added position/convert helper functions to gstutils.
12125         Reordered gstpad.c code, grouping relevant things.
12126         Remove gst_message_new(), always need to speficy a specific
12127         message.
12128
12129
12130 2005-05-09  Andy Wingo  <wingo@pobox.com>
12131
12132         * gst/gstiterator.h: Add some includes.
12133
12134         * gst/gstqueryutils.h: Include more headers.
12135
12136         * gst/gstpad.h:
12137         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12138         some uses of gst_pad_query.
12139
12140         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12141         NULL out parameters.
12142         (gst_query_new_position): New proc, allocates a new position
12143         query.
12144
12145         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12146         gstqueryutils.c to the build.
12147
12148         * gst/gststructure.c (gst_structure_set_valist): Implement with
12149         the generic G_VALUE_COLLECT.
12150         
12151 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12152
12153         * gst/Makefile.am: (gst_headers):
12154         Added gstqueryutils.h to the list of headers to install, that was
12155         a 'nachty' move wingo :)
12156
12157 2005-05-06  Andy Wingo  <wingo@pobox.com>
12158
12159         * gst/gstquery.h
12160         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12161         GstData, init a memchunk.
12162         (standard_definitions): Add a few query types, deprecate a few.
12163         (gst_query_get_type): New proc.
12164         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12165         implementation.
12166         (gst_query_new_application, gst_query_get_structure): New public
12167         procs.
12168
12169         * docs/design/draft-query.txt: Removed LINKS from the query types,
12170         because all the rest can be dispatched to other pads -- seemed
12171         ugly to have a query that couldn't be dispatched. internal_links
12172         is fine as a pad method.
12173
12174         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12175         in gstpad.c, but maintain binary compatibility for the moment.
12176         Will fix before 0.9 is out.
12177
12178         * gst/gstqueryutils.c: 
12179         * gst/gstqueryutils.h: New files, implement 3 methods for each
12180         query type: parse_query, parse_response, and set. Probably need an
12181         allocator as well.
12182
12183         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12184
12185         * gst/elements/gstfilesink.c (gst_filesink_query2):
12186         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12187         query_types, and formats methods.
12188
12189         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12190         (gst_pad_set_query2_function): New functions.
12191         (gst_real_pad_init): Set query2_default as the default query2
12192         function. Basically just dispatches to internally linked pads.
12193
12194         Needs review!
12195         
12196         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12197         without using the atomic operations. Only one thread can possibly
12198         be accessing the data at this point. Changed so as to avoid
12199         gst_atomic operations.
12200
12201 2005-05-06  Wim Taymans  <wim@fluendo.com>
12202
12203         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12204         Also set caps if we use the fallback buffer alloc.
12205
12206 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12207
12208         * docs/gst/Makefile.am:
12209         * docs/gst/gstreamer-docs.sgml:
12210         * docs/gst/gstreamer-sections.txt:
12211         * docs/gst/tmpl/gstatomic.sgml:
12212         * docs/gst/tmpl/gstmemchunk.sgml:
12213         * testsuite/elements/struct_i386.h:
12214         * win32/GStreamer.vcproj:
12215         * win32/Makefile:
12216           Purge GstAtomic stuff from docs and win32 makefiles as well
12217
12218 2005-05-06  Wim Taymans  <wim@fluendo.com>
12219
12220         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12221         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12222         * gst/gstpad.c: (gst_pad_peer_get_caps):
12223         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12224         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12225         (gst_queue_src_activate), (gst_queue_change_state):
12226         * gst/gstqueue.h:
12227         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12228         (intersect_caps_func):
12229         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12230         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12231         Some fixes for the peer_get_caps() change.
12232
12233 2005-05-06  Wim Taymans  <wim@fluendo.com>
12234
12235         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12236         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12237         (gst_basesink_activate):
12238         Actually do something with error codes returned from the push
12239         functions.
12240
12241 2005-05-06  Wim Taymans  <wim@fluendo.com>
12242
12243         * docs/design/part-element-sink.txt:
12244         * docs/design/part-element-source.txt:
12245         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12246         (gst_basesink_event), (gst_basesink_activate):
12247         * gst/base/gstbasesink.h:
12248         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12249         (gst_basesrc_activate):
12250         * gst/base/gstbasesrc.h:
12251         * gst/gstelement.c: (gst_element_pads_activate):
12252         Some more documentation.
12253         Fixed scheduling decision in _pads_activate().
12254
12255 2005-05-05  Andy Wingo  <wingo@pobox.com>
12256
12257         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12258         the test suite.
12259
12260 2005-05-05  Wim Taymans  <wim@fluendo.com>
12261
12262         * gst/base/Makefile.am:
12263         * gst/base/gstbasesink.h:
12264         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12265         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12266         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12267         (gst_collectpads_class_init), (gst_collectpads_init),
12268         (gst_collectpads_finalize), (gst_collectpads_new),
12269         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12270         (find_pad), (gst_collectpads_remove_pad),
12271         (gst_collectpads_is_active), (gst_collectpads_collect),
12272         (gst_collectpads_collect_range), (gst_collectpads_start),
12273         (gst_collectpads_stop), (gst_collectpads_peek),
12274         (gst_collectpads_pop), (gst_collectpads_available),
12275         (gst_collectpads_read), (gst_collectpads_flush),
12276         (gst_collectpads_chain):
12277         * gst/base/gstcollectpads.h:
12278         * gst/elements/Makefile.am:
12279         * gst/elements/gstelements.c:
12280         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12281         (gst_fakesink_get_times), (gst_fakesink_event),
12282         (gst_fakesink_preroll), (gst_fakesink_render):
12283         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12284         (gst_filesink_init), (gst_filesink_set_location),
12285         (gst_filesink_open_file), (gst_filesink_close_file),
12286         (gst_filesink_pad_query), (gst_filesink_event),
12287         (gst_filesink_render), (gst_filesink_change_state):
12288         * gst/elements/gstfilesink.h:
12289         Added object to help in making collect pad based elements.
12290         Ported filesink.
12291         Make event function in sink baseclass return gboolean.
12292
12293 2005-05-05  Wim Taymans  <wim@fluendo.com>
12294
12295         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12296         (gst_bin_get_by_name):
12297         * gst/gstbuffer.h:
12298         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12299         (gst_clock_finalize):
12300         * gst/gstdata.c: (gst_data_replace):
12301         * gst/gstdata.h:
12302         * gst/gstelement.c: (gst_element_request_pad),
12303         (gst_element_pads_activate):
12304         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12305         (gst_object_unref):
12306         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12307         (gst_pad_set_checkgetrange_function),
12308         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12309         (gst_pad_check_pull_range), (gst_pad_pull_range),
12310         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12311         (gst_pad_pause_task), (gst_pad_stop_task):
12312         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12313         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12314         Fix name lookup in GstBin.
12315         Added _data_replace() function and _buffer_replace()
12316         Use finalize method to clean up clock.
12317         Fix refcounting on request pads.
12318         Fix pad schedule mode error.
12319         Some more object refcounting debug info,
12320
12321
12322 2005-05-04  Andy Wingo <wingo@pobox.com>
12323
12324         * check/Makefile.am:
12325         * docs/gst/tmpl/gstatomic.sgml:
12326         * docs/gst/tmpl/gstplugin.sgml:
12327         * gst/base/gstbasesink.c: (gst_basesink_activate):
12328         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12329         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12330         (gst_basesrc_query), (gst_basesrc_set_property),
12331         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12332         (gst_basesrc_activate):
12333         * gst/base/gstbasesrc.h:
12334         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12335         (gst_base_transform_src_activate):
12336         * gst/elements/gstelements.c:
12337         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12338         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12339         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12340         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12341         (gst_type_find_element_checkgetrange),
12342         (gst_type_find_element_activate):
12343         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12344         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12345         (gst_caps_load_thyself):
12346         * gst/gstelement.c: (gst_element_pads_activate),
12347         (gst_element_save_thyself), (gst_element_restore_thyself):
12348         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12349         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12350         * gst/gstpad.h:
12351         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12352         (gst_xml_parse_file), (gst_xml_parse_memory),
12353         (gst_xml_get_element), (gst_xml_make_element):
12354         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12355         (_file_index_id_save_xml), (gst_file_index_commit):
12356         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12357         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12358         (load_paths):
12359         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12360         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12361         * tools/gst-complete.c: (main):
12362         * tools/gst-compprep.c: (main):
12363         * tools/gst-inspect.c: (print_element_properties_info):
12364         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12365         * tools/gst-xmlinspect.c: (print_element_properties):
12366         GCC 4 fixen.
12367         
12368 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12369
12370         * gst/gstplugin.c: (gst_plugin_check_module),
12371         (gst_plugin_check_file), (gst_plugin_load_file):
12372             apply patch from #172526 to make register work on MacOSX
12373
12374 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12375
12376         * docs/gst/tmpl/gstconfig.sgml:
12377         * gst/gstconfig.h.in:
12378           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12379         * testsuite/debug/printf_extension.c: (main):
12380           Do not use GST_PTR_FORMAT on pointers to types with
12381           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12382         * testsuite/elements/property.h:
12383           use correct printf format
12384
12385 2005-05-02  Wim Taymans  <wim@fluendo.com>
12386
12387         * docs/design/draft-push-pull.txt:
12388         * docs/design/draft-query.txt:
12389         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12390         (gst_basesrc_start):
12391         Added draft for new query API.
12392         Added draft for better selecting scheduling methods.
12393         Make basesrc ignore length if the subclass does not support
12394         it.
12395
12396 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12397
12398         * gst/Makefile.am:
12399           possible fixes for automake-1.5 - _LIBADD is reserved
12400
12401 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12402
12403         * docs/faq/Makefile.am:
12404         * docs/manual/Makefile.am:
12405         * docs/manuals.mak:
12406         * docs/pwg/Makefile.am:
12407         * gst/Makefile.am:
12408           possible fixes for automake-1.5
12409
12410 2005-04-28  Wim Taymans  <wim@fluendo.com>
12411
12412         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12413         (gst_basesink_pad_getcaps), (gst_basesink_init),
12414         (gst_basesink_do_sync):
12415         * gst/gstclock.c: (gst_clock_entry_new):
12416         * gst/gstevent.c: (gst_event_discont_get_value):
12417         * gst/gstpipeline.c: (pipeline_bus_handler),
12418         (gst_pipeline_change_state):
12419         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12420         Better debugging of clocking info.
12421         Allow NULL values when getting discont values.
12422
12423 2005-04-27  Wim Taymans  <wim@fluendo.com>
12424
12425         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12426         * check/gst/gstpad.c: (gst_pad_suite):
12427         Increase timeout for checks.
12428
12429 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12430
12431         * check/Makefile.am:
12432           fix the broken rule for cleanup.  Apparently this rule is
12433           only needed on FC2, so maybe this warrants further autotool
12434           inspection.
12435
12436 2005-04-26  Wim Taymans  <wim@fluendo.com>
12437
12438         * gst/gsttrashstack.h:
12439         Ooohh. a nasty one! After having a failed pop() from the stack,
12440         it's possible that the stack is empty. In that case, don't
12441         follow the NULL pointer.
12442
12443 2005-04-25  Wim Taymans  <wim@fluendo.com>
12444
12445         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12446         (gst_pad_set_checkgetrange_function),
12447         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12448         (gst_pad_check_pull_range), (gst_pad_pull_range),
12449         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12450         (gst_pad_pause_task), (gst_pad_stop_task):
12451         * gst/gstplugin.c: (gst_plugin_load):
12452         * gst/gstplugin.h:
12453         Remove gst_library_load as it does more harm than good with
12454         the new g_module flags.
12455         Revert bogus caps template check in pad linking, pad caps
12456         are important when linking not the template, which is more
12457         general than the current caps.
12458
12459 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12460
12461         * gst/autoplug/.cvsignore:
12462         * gst/autoplug/Makefile.am:
12463         * gst/autoplug/gstsearchfuncs.c:
12464         * gst/autoplug/gstsearchfuncs.h:
12465         * gst/autoplug/gstspider.c:
12466         * gst/autoplug/gstspider.h:
12467         * gst/autoplug/gstspideridentity.c:
12468         * gst/autoplug/gstspideridentity.h:
12469         * gst/autoplug/spidertest.c:
12470           Die, spider, die.
12471
12472 2005-04-25  Wim Taymans  <wim@fluendo.com>
12473
12474         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12475         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12476         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12477         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12478         * gst/gstpad.h:
12479         Added stubs for unimplemented functions. 
12480
12481 2005-04-24  David Schleef  <ds@schleef.org>
12482
12483         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12484         please fix.
12485
12486 2005-04-24  David Schleef  <ds@schleef.org>
12487
12488         Convert everything from GstAtomicInt to g_atomic_int_*, and
12489         remove gstatomic.
12490         * gst/Makefile.am:
12491         * gst/gstatomic.c:
12492         * gst/gstatomic.h:
12493         * gst/gstatomic_impl.h:
12494         * gst/gstbuffer.c:
12495         * gst/gstcaps.c:
12496         * gst/gstcaps.h:
12497         * gst/gstclock.c:
12498         * gst/gstclock.h:
12499         * gst/gstdata.c:
12500         * gst/gstdata.h:
12501         * gst/gstdata_private.h:
12502         * gst/gstevent.c:
12503         * gst/gstinfo.c:
12504         * gst/gstinfo.h:
12505         * gst/gstmessage.c:
12506         * gst/gstobject.c:
12507         * gst/gstobject.h:
12508         * gst/gststructure.c:
12509         * gst/gststructure.h:
12510         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12511         * gst/gstutils.h:
12512
12513 2005-04-24  David Schleef  <ds@schleef.org>
12514
12515         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12516         make the regressions tests work.  Remove some code that is no
12517         longer true.
12518         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12519         Disable warning for pads without templates.
12520
12521 2005-04-24  David Schleef  <ds@schleef.org>
12522
12523         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12524         functions that handle filtered links.
12525         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12526         removed functions.
12527         * gst/gstutils.c: Fix/remove utility functions that handle
12528         filtered caps.
12529         * gst/gstutils.h:
12530         * gst/gstvalue.c: Add serialization/deserialization of caps
12531         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12532         requires fixing so that the filter caps notation creates
12533         a capsfilter element and sets the filter_caps property.  I
12534         think everyone probably wants to keep the shorthand notation.
12535         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12536         * docs/gst/tmpl/gstpad.sgml:
12537
12538         * gst/elements/gstelements.c: Register capsfilter element.
12539         * gst/Makefile.am: fix spacing
12540         * docs/random/ds/0.9-suggested-changes: random
12541
12542 2005-04-23  David Schleef  <ds@schleef.org>
12543
12544         * gst/elements/Makefile.am:
12545         * gst/elements/gstcapsfilter.c: New element that acts like an
12546         identity, but filters caps.  Will eventually replace filtered
12547         caps in pad linking.
12548         * gst/gstutils.c: (gst_element_create_all_pads): New function
12549         to create all the ALWAYS pads that are registered with an
12550         element class.  This functionality should eventually be
12551         merged in with GstElement initialization.
12552         * gst/gstutils.h:
12553         * testsuite/trigger/README: part of trigger test code that should
12554         have been checked in a long time ago.
12555
12556 2005-04-23  David Schleef  <ds@schleef.org>
12557
12558         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12559         needed with new versions of libtool (nobody will confirm this),
12560         and hard to carry around.
12561         * gst/autoplug/Makefile.am:
12562         * gst/base/Makefile.am:
12563         * gst/elements/Makefile.am:
12564         * gst/indexers/Makefile.am:
12565         * gst/schedulers/Makefile.am:
12566         * libs/gst/bytestream/Makefile.am:
12567         * libs/gst/control/Makefile.am:
12568         * libs/gst/dataprotocol/Makefile.am:
12569         * libs/gst/getbits/Makefile.am:
12570
12571 2005-04-21  Wim Taymans  <wim@fluendo.com>
12572
12573         * docs/design/draft-push-pull.txt:
12574         * docs/design/part-MT-refcounting.txt:
12575         * docs/design/part-TODO.txt:
12576         * docs/design/part-caps.txt:
12577         * docs/design/part-events.txt:
12578         * docs/design/part-gstbus.txt:
12579         * docs/design/part-gstpipeline.txt:
12580         * docs/design/part-messages.txt:
12581         * docs/design/part-push-pull.txt:
12582         * docs/design/part-query.txt:
12583         Some more docs.
12584
12585 2005-04-21  Wim Taymans  <wim@fluendo.com>
12586
12587         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12588         (gst_message_new), (gst_message_new_error),
12589         (gst_message_new_warning), (gst_message_new_tag),
12590         (gst_message_new_state_changed), (gst_message_new_application),
12591         (gst_message_get_structure):
12592         * gst/gstmessage.h:
12593         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12594         (gst_structure_copy_conditional):
12595         Use parent refcount in GstMessage to ensure GstStructure
12596         consistency.
12597         Cleaned up headers a bit.
12598         
12599
12600 2005-04-20  Wim Taymans  <wim@fluendo.com>
12601
12602         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12603         (gst_basesink_pad_getcaps), (gst_basesink_init),
12604         (gst_basesink_chain_unlocked):
12605         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12606         (gst_type_find_helper):
12607         * gst/elements/gsttypefindelement.c:
12608         (gst_type_find_element_have_type), (gst_type_find_element_init),
12609         (stop_typefinding), (gst_type_find_element_handle_event),
12610         (find_suggest), (gst_type_find_element_chain),
12611         (gst_type_find_element_checkgetrange),
12612         (gst_type_find_element_getrange), (do_typefind),
12613         (gst_type_find_element_activate):
12614         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12615         (gst_buffer_default_free), (gst_buffer_default_copy),
12616         (gst_buffer_set_caps):
12617         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12618         (gst_caps_replace):
12619         * gst/gstmessage.c: (gst_message_new),
12620         (gst_message_new_state_changed):
12621         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12622         (gst_pad_set_checkgetrange_function),
12623         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12624         (gst_pad_set_caps), (gst_pad_check_pull_range),
12625         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12626         * gst/gstpad.h:
12627         * gst/gsttypefind.c: (gst_type_find_register):
12628         Make gst_caps_replace() work like other _replace() functions.
12629         Use _caps_replace() where possible.
12630         Make sure _message_new() initialises its field.
12631         Add gst_static_pad_template_get_caps()
12632
12633
12634 2005-04-18  Andy Wingo  <wingo@pobox.com>
12635
12636         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12637         on the peer, not the pad. I think that was a typo. Pass an extra
12638         arg to see if random access is possible. Activate the pads as
12639         PULL_RANGE if possible.
12640
12641         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12642
12643         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12644         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12645         to PROP_....
12646
12647 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12648
12649         * docs/faq/using.xml:
12650           Add note on gstreamer-properties (#154996).
12651
12652 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12653
12654         * docs/random/bbb/optional-properties:
12655           Some analysis on optional properties.
12656
12657 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12658
12659         * docs/gst/tmpl/gstelementfactory.sgml:
12660         * gst/gstelement.h:
12661         * gst/gstelementfactory.c: (gst_element_factory_init),
12662         (gst_element_factory_cleanup), (gst_element_register),
12663         (__gst_element_factory_add_static_pad_template),
12664         (gst_element_factory_get_static_pad_templates),
12665         (gst_element_factory_can_src_caps),
12666         (gst_element_factory_can_sink_caps):
12667         * gst/registries/Makefile.am:
12668         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12669         (gst_xml_registry_class_init), (gst_xml_registry_init),
12670         (gst_xml_registry_new), (gst_xml_registry_set_property),
12671         (gst_xml_registry_get_property), (get_time), (make_dir),
12672         (gst_xml_registry_get_perms_func),
12673         (plugin_times_older_than_recurse), (plugin_times_older_than),
12674         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12675         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12676         (add_to_char_array), (read_string), (read_uint), (read_enum),
12677         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12678         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12679         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12680         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12681         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12682         (gst_xml_registry_rebuild):
12683         * gst/registries/gstlibxmlregistry.h:
12684         * tools/gst-compprep.c: (main):
12685         * tools/gst-inspect.c: (print_pad_templates_info):
12686         * tools/gst-xmlinspect.c: (print_element_info):
12687           Use libxml2 for registry parsing, use staticpadtemplates in
12688           elementfactories. Makes gst_init() +/- 10x faster.
12689
12690 2005-04-12  Wim Taymans  <wim@fluendo.com>
12691
12692         * gst/base/Makefile.am:
12693         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12694         (gst_basesink_pad_getcaps), (gst_basesink_init),
12695         (gst_basesink_event), (gst_basesink_change_state):
12696         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12697         (gst_basesrc_init), (gst_basesrc_query),
12698         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12699         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12700         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12701         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12702         (gst_basesrc_stop), (gst_basesrc_activate),
12703         (gst_basesrc_change_state):
12704         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12705         (helper_find_suggest), (gst_type_find_helper):
12706         * gst/base/gsttypefindhelper.h:
12707         * gst/elements/Makefile.am:
12708         * gst/elements/gstelements.c:
12709         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12710         (gst_fakesink_get_times), (gst_fakesink_event),
12711         (gst_fakesink_preroll), (gst_fakesink_render):
12712         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12713         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12714         (gst_fakesrc_get_property), (gst_fakesrc_create),
12715         (gst_fakesrc_start), (gst_fakesrc_stop):
12716         * gst/elements/gstfakesrc.h:
12717         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12718         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12719         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12720         (gst_filesrc_create_read), (gst_filesrc_create),
12721         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12722         (gst_filesrc_start):
12723         * gst/elements/gsttypefindelement.c:
12724         (gst_type_find_element_have_type), (gst_type_find_element_init),
12725         (start_typefinding), (stop_typefinding), (push_buffer_store),
12726         (gst_type_find_element_handle_event),
12727         (gst_type_find_element_chain),
12728         (gst_type_find_element_checkgetrange),
12729         (gst_type_find_element_getrange), (do_typefind),
12730         (gst_type_find_element_activate),
12731         (gst_type_find_element_change_state):
12732         * gst/elements/gsttypefindelement.h:
12733         * gst/gstpipeline.c: (pipeline_bus_handler):
12734         Added typefind helper.
12735         Small preroll fix in the base sink.
12736         Disable typefind code in basesrc.
12737         Crude port of typefindelement.
12738         Fakesrc cleanups.
12739
12740
12741 2005-04-11  Wim Taymans  <wim@fluendo.com>
12742
12743         * check/gst/gstbus.c: (gstbus_suite):
12744         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12745         * check/gstcheck.h:
12746           Fix up the timeout so that the test does not fail.
12747
12748 2005-04-06  Wim Taymans  <wim@fluendo.com>
12749
12750         * gst/base/README:
12751         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12752         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12753         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12754         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12755         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12756         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12757         (gst_basesrc_stop), (gst_basesrc_activate),
12758         (gst_basesrc_change_state), (basesrc_find_peek),
12759         (basesrc_find_suggest), (gst_basesrc_type_find):
12760         * gst/base/gstbasesrc.h:
12761         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12762         (gst_filesrc_class_init), (gst_filesrc_init),
12763         (gst_filesrc_finalize), (gst_filesrc_set_location),
12764         (gst_filesrc_set_property), (gst_filesrc_get_property),
12765         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12766         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12767         (gst_filesrc_create_read), (gst_filesrc_create),
12768         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12769         * gst/elements/gstfilesrc.h:
12770         * gst/gstelement.c: (gst_element_get_state_func),
12771         (gst_element_lost_state), (gst_element_pads_activate):
12772         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12773         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12774         (gst_pad_pull_range):
12775         * gst/gstpad.h:
12776         More work on the generic source base class, implement seeking,
12777         query.
12778         Make filesrc extend the base source class.
12779         Added gst_pad_set_checkgetrange_function to GstPad.
12780
12781 2005-04-06  Andy Wingo  <wingo@pobox.com>
12782
12783         * pkgconfig/gstreamer-base.pc.in:
12784         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12785
12786         * pkgconfig/Makefile.am:
12787         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12788
12789 2005-04-04  Wim Taymans  <wim@fluendo.com>
12790
12791         * gst/base/Makefile.am:
12792         * gst/base/README:
12793         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12794         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12795         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12796         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12797         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12798         (gst_basesrc_base_init), (gst_basesrc_class_init),
12799         (gst_basesrc_init), (gst_basesrc_get_formats),
12800         (gst_basesrc_get_query_types), (gst_basesrc_query),
12801         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12802         (gst_basesrc_set_property), (gst_basesrc_get_property),
12803         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12804         (gst_basesrc_loop), (gst_basesrc_activate),
12805         (gst_basesrc_change_state):
12806         * gst/base/gstbasesrc.h:
12807         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12808         (gst_fakesrc_class_init), (gst_fakesrc_init),
12809         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12810         (gst_fakesrc_get_property), (gst_fakesrc_create):
12811         * gst/elements/gstfakesrc.h:
12812         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12813         (gst_filesrc_open_file), (gst_filesrc_loop),
12814         (gst_filesrc_activate), (filesrc_find_peek),
12815         (gst_filesrc_type_find):
12816         Made base source class, make fakesrc extend it.
12817         Add comments to basesink class.
12818         Some filesrc cleanup.
12819
12820 2005-03-31  David Schleef  <ds@schleef.org>
12821
12822         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12823         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12824         expected to link against libgstreamer.
12825         * gst/base/Makefile.am: link against libgstreamer
12826         * gst/elements/Makefile.am: same
12827
12828 2005-03-31  Andy Wingo  <wingo@pobox.com>
12829
12830         * tests/instantiate/Makefile.am:
12831         * tests/instantiate/caps.c: Add test to test speed of caps copy
12832         and free.
12833
12834         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12835         GMemChunk to be fair.
12836
12837         * gst/gsttrashstack.h: Remove warning about using the fallback
12838         trash stack implementation, it's still faster than malloc.
12839
12840 2005-03-30  Andy Wingo  <wingo@pobox.com>
12841
12842         * tests/complexity.c: Add a copyright.
12843
12844 2005-03-31  Wim Taymans  <wim@fluendo.com>
12845
12846         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12847         (gst_base_transform_class_init), (gst_base_transform_init),
12848         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12849         (gst_base_transform_get_property),
12850         (gst_base_transform_sink_activate),
12851         (gst_base_transform_src_activate),
12852         (gst_base_transform_change_state):
12853         * gst/base/gstbasetransform.h:
12854         * gst/elements/gstidentity.c: (gst_identity_class_init),
12855         (gst_identity_event), (gst_identity_check_perfect),
12856         (gst_identity_transform), (gst_identity_start),
12857         (gst_identity_stop):
12858         Added start/stop methods to transform base class so subclasses 
12859         don't need to deal with state changes even.
12860
12861 2005-03-31  Wim Taymans  <wim@fluendo.com>
12862
12863         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12864         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12865         * gst/gstevent.h:
12866         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12867         (gst_pad_pull_range):
12868         Added rate to the discont event to prepare for variable speed
12869         and reverse playback.
12870
12871 2005-03-29  David Schleef  <ds@schleef.org>
12872
12873         * configure.ac:
12874         * testsuite/trigger/Makefile.am:
12875         * testsuite/trigger/trigger.c: A little example program to show
12876         how trigger-based elements can work.
12877
12878 2005-03-29  Wim Taymans  <wim@fluendo.com>
12879
12880         * gst/base/Makefile.am:
12881         * gst/base/README:
12882         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12883         (gst_basesink_base_init), (gst_basesink_class_init),
12884         (gst_basesink_pad_getcaps), (gst_basesink_init),
12885         (gst_basesink_activate), (gst_basesink_change_state):
12886         * gst/base/gstbasesink.h:
12887         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12888         (gst_base_transform_base_init), (gst_base_transform_finalize),
12889         (gst_base_transform_class_init), (gst_base_transform_init),
12890         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12891         (gst_base_transform_event), (gst_base_transform_getrange),
12892         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12893         (gst_base_transform_set_property),
12894         (gst_base_transform_get_property),
12895         (gst_base_transform_sink_activate),
12896         (gst_base_transform_src_activate),
12897         (gst_base_transform_change_state):
12898         * gst/base/gstbasetransform.h:
12899         * gst/elements/gstidentity.c: (gst_identity_finalize),
12900         (gst_identity_class_init), (gst_identity_init),
12901         (gst_identity_event), (gst_identity_check_perfect),
12902         (gst_identity_transform), (gst_identity_set_property),
12903         (gst_identity_get_property), (gst_identity_change_state):
12904         * gst/elements/gstidentity.h:
12905         * gst/gstelement.c: (gst_element_get_state_func),
12906         (gst_element_lost_state), (gst_element_pads_activate):
12907         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12908         (gst_pad_check_pull_range), (gst_pad_pull_range):
12909         * gst/gstpad.h:
12910         Simplify pad activation.
12911         Added function to check if pull_range can be performed.
12912         Error out when pulling inactive or flushing pads.
12913         Removed const from refcounted types as it does not make sense.
12914         Simplify pad templates in basesink
12915         Added base class for simple 1-to-1 transforms.
12916         Make identity subclass the base transform.
12917
12918 2005-03-29  Andy Wingo  <wingo@pobox.com>
12919
12920         * docs/libs/gstreamer-libs-overrides.txt: 
12921         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12922         really don't understand what's going on, but like whatever. I want
12923         green buildbot!
12924
12925         * docs/gst/Makefile.am:
12926         * docs/libs/Makefile.am: Dist the overrides files.
12927
12928         * check/Makefile.am (clean-local): Remove .libs directories.
12929
12930         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12931         elements to EXTRA_DIST, so po/ files are happy.
12932
12933         * po/POTFILES.in: Er, remove it here.
12934
12935         * po/POTFILES: Remove gstspider.c.
12936
12937         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12938
12939         * docs/libs/gstreamer-libs-docs.sgml: 
12940         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12941         bytestream.
12942
12943         * tests/complexity.c (main): Set the length of the preroll queue
12944         on the sinks to prevent a lockup.
12945
12946         * libs/gst/dataprotocol/Makefile.am: 
12947         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12948         the same as the one in check/gst-libs/gdp.c.
12949
12950         * po/, docs/gst/: Commit automatic changes to docs and po files.
12951
12952         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12953         the versioned libgstbase.
12954
12955         * check/Makefile.am: Depend on an unversioned gst-register, seems
12956         to make autoconf happier.
12957
12958         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12959
12960 2005-03-28  Wim Taymans  <wim@fluendo.com>
12961
12962         * configure.ac:
12963         * docs/design/part-gstelement.txt:
12964         * docs/design/part-negotiation.txt:
12965         * docs/design/part-preroll.txt:
12966         * docs/design/part-scheduling.txt:
12967         * docs/design/part-states.txt:
12968         * gst/Makefile.am:
12969         * gst/base/Makefile.am:
12970         * gst/base/README:
12971         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12972         (gst_basesink_base_init), (gst_basesink_class_init),
12973         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12974         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12975         (gst_basesink_set_pad_functions),
12976         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12977         (gst_basesink_set_property), (gst_basesink_get_property),
12978         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12979         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12980         (gst_basesink_preroll_queue_push),
12981         (gst_basesink_preroll_queue_empty),
12982         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12983         (gst_basesink_event), (gst_basesink_get_times),
12984         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12985         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12986         (gst_basesink_loop), (gst_basesink_activate),
12987         (gst_basesink_change_state):
12988         * gst/base/gstbasesink.h:
12989         * gst/elements/Makefile.am:
12990         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12991         (gst_fakesink_class_init), (gst_fakesink_init),
12992         (gst_fakesink_set_property), (gst_fakesink_get_property),
12993         (gst_fakesink_get_times), (gst_fakesink_event),
12994         (gst_fakesink_preroll), (gst_fakesink_render),
12995         (gst_fakesink_change_state):
12996         * gst/elements/gstfakesink.h:
12997         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12998         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12999         * gst/gstelement.c: (gst_element_add_pad),
13000         (gst_element_get_state_func), (gst_element_abort_state),
13001         (gst_element_commit_state), (gst_element_lost_state),
13002         (gst_element_set_state), (gst_element_pads_activate):
13003         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13004         * gst/gstpipeline.c: (gst_pipeline_send_event),
13005         (gst_pipeline_change_state):
13006         Added state change code.
13007         Added/updated docs.
13008         Added sink base class, make fakesink extend the base class.
13009         Small cleanups in GstPipeline.
13010
13011 2005-03-26  David Schleef  <ds@schleef.org>
13012
13013         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13014         is broken and should be implemented in a different library.
13015         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13016         * gst/gst.h: remove gstcpu.h
13017         * gst/gstcpu.c: remove
13018         * gst/gstcpu.h: remove
13019         * gst/Makefile.am.future: Remove this file.  It's ancient.
13020
13021 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13022
13023         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13024         (gst_bin_send_event):
13025           Add default event/set_manager handlers. The set_manager handler
13026           takes care that the manager is distributed over kids that were
13027           already in the bin before the manager was set. The event handler
13028           is a utility virtual function that sends the event over all sinks,
13029           so that gst_element_send_event (bin, event); has the expected
13030           behaviour.
13031         * gst/gstpad.c: (gst_pad_event_default):
13032           Re-install default event handling for discontinuities, so that
13033           seeking works without requiring hacks in applications or extra
13034           code in sinks.
13035         * gst/gstpipeline.c: (gst_pipeline_class_init),
13036         (gst_pipeline_send_event):
13037           Half hack, half utility: set a pipeline to PAUSED for seek events,
13038           since that is the only way we can guarantee a/v sync. Means that
13039           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13040           and it "just works".
13041
13042 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13043
13044         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13045           Lock/unlock mismatch.
13046
13047 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13048
13049         * docs/faq/gst-uninstalled:
13050           add gst-plugins-base
13051         * docs/gst/Makefile.am:
13052           don't error out until docs are fixed
13053         * docs/gst/gstreamer.types:
13054           remove thread
13055
13056 2005-03-22  Wim Taymans  <wim@fluendo.com>
13057
13058         * check/Makefile.am:
13059         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13060         * gst/gststructure.c: (gst_structure_set_valist),
13061         (gst_structure_copy_conditional):
13062         Activated more tests.
13063         Added message test.
13064         Added G_TYPE_POINTER to GstStructure.
13065         
13066
13067 2005-03-22  Wim Taymans  <wim@fluendo.com>
13068
13069         * docs/design/part-TODO.txt:
13070         * docs/design/part-events.txt:
13071         * docs/design/part-gstbin.txt:
13072         * docs/design/part-gstbus.txt:
13073         * docs/design/part-gstpipeline.txt:
13074         * docs/design/part-messages.txt:
13075         * gst/gstbus.c:
13076         * gst/gstmessage.c:
13077         Docs updates
13078
13079 2005-03-21  Wim Taymans  <wim@fluendo.com>
13080
13081         * gst/gstbus.c: (gst_bus_post):
13082         Fix copy-and-paste error.
13083
13084 2005-03-21  Wim Taymans  <wim@fluendo.com>
13085
13086         * check/Makefile.am:
13087         * gst/Makefile.am:
13088         * gst/elements/Makefile.am:
13089         * gst/elements/gstelements.c:
13090         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13091         (gst_fakesink_event), (gst_fakesink_chain):
13092         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13093         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13094         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13095         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13096         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13097         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13098         (gst_fakesrc_loop), (gst_fakesrc_activate),
13099         (gst_fakesrc_change_state):
13100         * gst/elements/gstfakesrc.h:
13101         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13102         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13103         (gst_filesrc_open_file), (gst_filesrc_loop),
13104         (gst_filesrc_activate), (gst_filesrc_change_state),
13105         (filesrc_find_peek), (filesrc_find_suggest),
13106         (gst_filesrc_type_find):
13107         * gst/elements/gstidentity.c: (gst_identity_finalize),
13108         (gst_identity_class_init), (gst_identity_init),
13109         (gst_identity_proxy_getcaps), (identity_queue_push),
13110         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13111         (gst_identity_getrange), (gst_identity_chain),
13112         (gst_identity_sink_loop), (gst_identity_src_loop),
13113         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13114         (gst_identity_set_property), (gst_identity_get_property),
13115         (gst_identity_change_state):
13116         * gst/elements/gstidentity.h:
13117         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13118         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13119         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13120         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13121         (gst_tee_sink_activate):
13122         * gst/elements/gsttee.h:
13123         * gst/gst.c: (gst_register_core_elements), (init_post):
13124         * gst/gst.h:
13125         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13126         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13127         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13128         (gst_bin_change_state):
13129         * gst/gstbin.h:
13130         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13131         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13132         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13133         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13134         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13135         (bus_watch_callback), (bus_watch_destroy),
13136         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13137         (poll_timeout), (gst_bus_poll):
13138         * gst/gstbus.h:
13139         * gst/gstcaps.h:
13140         * gst/gstdata.h:
13141         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13142         (gst_element_post_message), (gst_element_message_full),
13143         (gst_element_get_state_func), (gst_element_get_state),
13144         (gst_element_abort_state), (gst_element_commit_state),
13145         (gst_element_lost_state), (gst_element_set_state),
13146         (gst_element_pads_activate), (gst_element_change_state),
13147         (gst_element_dispose), (gst_element_set_manager_func),
13148         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13149         (gst_element_set_manager), (gst_element_get_manager),
13150         (gst_element_set_bus), (gst_element_get_bus),
13151         (gst_element_set_scheduler), (gst_element_get_scheduler):
13152         * gst/gstelement.h:
13153         * gst/gstevent.c: (gst_event_new_segment_seek),
13154         (gst_event_new_flush):
13155         * gst/gstevent.h:
13156         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13157         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13158         (gst_message_new_eos), (gst_message_new_error),
13159         (gst_message_new_warning), (gst_message_new_tag),
13160         (gst_message_new_state_changed), (gst_message_new_application),
13161         (gst_message_get_structure), (gst_message_parse_tag),
13162         (gst_message_parse_state_changed), (gst_message_parse_error),
13163         (gst_message_parse_warning):
13164         * gst/gstmessage.h:
13165         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13166         (gst_real_pad_set_property), (gst_pad_set_active),
13167         (gst_pad_is_active), (gst_pad_set_blocked_async),
13168         (gst_pad_set_blocked), (gst_pad_is_blocked),
13169         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13170         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13171         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13172         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13173         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13174         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13175         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13176         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13177         (gst_pad_set_caps), (gst_pad_configure_sink),
13178         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13179         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13180         (gst_real_pad_dispose), (gst_real_pad_finalize),
13181         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13182         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13183         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13184         * gst/gstpad.h:
13185         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13186         (pipeline_bus_handler), (gst_pipeline_change_state),
13187         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13188         * gst/gstpipeline.h:
13189         * gst/gstprobe.h:
13190         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13191         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13192         (gst_queue_link_src), (gst_queue_bufferalloc),
13193         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13194         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13195         (gst_queue_loop), (gst_queue_handle_src_event),
13196         (gst_queue_handle_src_query), (gst_queue_src_activate),
13197         (gst_queue_change_state):
13198         * gst/gstqueue.h:
13199         * gst/gstscheduler.c: (gst_scheduler_init),
13200         (gst_scheduler_dispose), (gst_scheduler_create_task),
13201         (gst_scheduler_factory_create):
13202         * gst/gstscheduler.h:
13203         * gst/gststructure.c: (gst_structure_get_type),
13204         (gst_structure_copy_conditional):
13205         * gst/gststructure.h:
13206         * gst/gsttaginterface.h:
13207         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13208         (gst_task_init), (gst_task_dispose), (gst_task_create),
13209         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13210         (gst_task_pause):
13211         * gst/gsttask.h:
13212         * gst/gstthread.c:
13213         * gst/gstthread.h:
13214         * gst/gsttypes.h:
13215         * gst/schedulers/Makefile.am:
13216         * gst/schedulers/cothreads_compat.h:
13217         * gst/schedulers/entryscheduler.c:
13218         * gst/schedulers/faircothreads.c:
13219         * gst/schedulers/faircothreads.h:
13220         * gst/schedulers/fairscheduler.c:
13221         * gst/schedulers/gstbasicscheduler.c:
13222         * gst/schedulers/gstoptimalscheduler.c:
13223         * gst/schedulers/gthread-cothreads.h:
13224         * gst/schedulers/threadscheduler.c:
13225         (gst_thread_scheduler_task_get_type),
13226         (gst_thread_scheduler_task_class_init),
13227         (gst_thread_scheduler_task_init),
13228         (gst_thread_scheduler_task_start),
13229         (gst_thread_scheduler_task_stop),
13230         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13231         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13232         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13233         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13234         (plugin_init):
13235         * libs/gst/Makefile.am:
13236         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13237         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13238         (gst_file_pad_parent_set):
13239         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13240         (gst_dp_event_from_packet):
13241         * tests/complexity.c: (main):
13242         * tests/mass_elements.c: (main):
13243         * testsuite/states/locked.c: (message_received), (main):
13244         * testsuite/states/parent.c: (main):
13245         * tools/gst-inspect.c: (print_element_flag_info),
13246         (print_implementation_info), (print_pad_info):
13247         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13248         (main):
13249         * tools/gst-md5sum.c: (event_loop), (main):
13250         * tools/gst-typefind.c: (main):
13251         * tools/gst-xmlinspect.c: (print_element_info):
13252         Next big merge.
13253         Added GstBus for mainloop integration.
13254         Added GstMessage for sending notifications on the bus.
13255         Added GstTask as an abstraction for pipeline entry points.
13256         Removed GstThread.
13257         Removed Schedulers.
13258         Simplified GstQueue for multithreaded core.
13259         Made _link threadsafe, removed old capsnego.
13260         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13261         Added pad blocking functions.
13262         Reworked scheduling functions in GstPad to prepare for
13263         scheduling updates soon.
13264         Moved events out of data stream.
13265         Simplified GstEvent types.
13266         Added return values to push/pull.
13267         Removed clocking from GstElement.
13268         Added prototypes for state change function for next merge.
13269         Removed iterate from bins and state change management.
13270         Fixed some elements, disabled others for now.
13271         Fixed -inspect and -launch.
13272         Added check for GstBus.
13273
13274 2005-03-10  Wim Taymans  <wim@fluendo.com>
13275
13276         * docs/design/part-MT-refcounting.txt:
13277         * docs/design/part-clocks.txt:
13278         * docs/design/part-gstelement.txt:
13279         * docs/design/part-gstobject.txt:
13280         * docs/design/part-standards.txt:
13281         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13282         (gst_bin_remove_func), (gst_bin_remove):
13283         * gst/gstbin.h:
13284         * gst/gstbuffer.c:
13285         * gst/gstcaps.h:
13286         * testsuite/clock/clock1.c: (main):
13287         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13288         (main):
13289         * testsuite/dlopen/loadgst.c: (do_test):
13290         * testsuite/refcounting/bin.c: (add_remove_test1),
13291         (add_remove_test2), (main):
13292         * testsuite/refcounting/element.c: (main):
13293         * testsuite/refcounting/element_pad.c: (main):
13294         * testsuite/refcounting/pad.c: (main):
13295         * tools/gst-launch.c: (sigint_handler_sighandler):
13296         * tools/gst-typefind.c: (main):
13297         Doc updates.
13298         Added doc about clock.
13299         removed gst_bin_iterate_recurse_up(), marked methods
13300         for removal.
13301         Fix more testsuites.
13302
13303 2005-03-09  Wim Taymans  <wim@fluendo.com>
13304
13305         * gst/gstpad.c: (gst_pad_get_direction),
13306         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13307         (gst_pad_collect_valist):
13308         * testsuite/bins/interface.c: (main):
13309         * testsuite/caps/audioscale.c: (test_caps):
13310         * testsuite/caps/caps.c: (test1), (test2), (test3):
13311         * testsuite/caps/deserialize.c: (main):
13312         * testsuite/caps/enumcaps.c: (main):
13313         * testsuite/caps/filtercaps.c: (main):
13314         * testsuite/caps/intersect2.c: (main):
13315         * testsuite/caps/random.c: (main):
13316         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13317         * testsuite/caps/sets.c: (check_caps):
13318         * testsuite/caps/simplify.c: (check_caps), (main):
13319         * testsuite/caps/subtract.c: (check_caps):
13320         Fix _pad_get_direction wrt ghostpads.
13321         Fix caps testsuite.
13322
13323 2005-03-09  Wim Taymans  <wim@fluendo.com>
13324
13325         * check/Makefile.am:
13326         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13327         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13328         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13329         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13330         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13331         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13332         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13333         (bin_element_is_sink), (gst_bin_iterate_sinks),
13334         (gst_bin_iterate_all_by_interface):
13335         * gst/gstbin.h:
13336         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13337         (gst_element_change_state), (gst_element_dispose),
13338         (gst_element_finalize), (gst_element_set_loop_function):
13339         * gst/gstelement.h:
13340         * gst/gstiterator.c: (find_custom_fold_func):
13341         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13342         (gst_pad_collectv), (gst_pad_collect_valist),
13343         (gst_pad_template_new):
13344         * gst/gstpipeline.c: (gst_pipeline_class_init),
13345         (gst_pipeline_dispose), (gst_pipeline_set_property),
13346         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13347         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13348         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13349         * gst/gstutils.h:
13350         * gst/schedulers/entryscheduler.c:
13351         * gst/schedulers/gstbasicscheduler.c:
13352         (gst_basic_scheduler_cothreaded_chain),
13353         (gst_basic_scheduler_chain_add_element):
13354         * testsuite/bins/interface.c: (main):
13355         Added GstBin test.
13356         Added GstSystemClock test.
13357         Implemented clock distribution code in GstBin.
13358         Implemented iterate sinks method for future use.
13359         Rearranged gstelement.h
13360         Fix GstIterator comparison bug.
13361         Moved some code to GstPipeline, mostly clocking related.
13362
13363 2005-03-09  Wim Taymans  <wim@fluendo.com>
13364
13365         * configure.ac:
13366         * gst/gst_private.h:
13367         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13368         (gst_bin_remove_func), (gst_bin_remove),
13369         (gst_bin_get_by_name_recurse_up):
13370         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13371         (gst_clock_id_compare_func), (gst_clock_id_wait),
13372         (gst_clock_id_wait_async), (gst_clock_init),
13373         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13374         * gst/gstelement.h:
13375         * gst/gstinfo.c: (_gst_debug_init):
13376         * gst/gstobject.h:
13377         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13378         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13379         * gst/gstpad.h:
13380         Bump version number, we're now 0.9.0
13381         Add future debugging category.
13382         Fix NULL _unref() in _get_by_name_recurse_up
13383         Rearrange gstpad.h.
13384         Update some docs.
13385
13386 2005-03-08  Wim Taymans  <wim@fluendo.com>
13387
13388         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13389         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13390         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13391         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13392         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13393         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13394         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13395         * gst/elements/gstidentity.c: (gst_identity_class_init):
13396         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13397         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13398         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13399         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13400         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13401         (gst_tee_link):
13402         * gst/gstelement.c: (gst_element_class_init),
13403         (gst_element_base_class_init), (gst_element_init),
13404         (gst_element_get_random_pad), (gst_element_wait_state_change),
13405         (gst_element_change_state), (gst_element_dispose),
13406         (gst_element_finalize), (gst_element_set_loop_function):
13407         * gst/gstelement.h:
13408         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13409         * gst/gstthread.c: (gst_thread_class_init),
13410         (gst_thread_release_children_locks), (gst_thread_change_state):
13411         * gst/schedulers/gstbasicscheduler.c:
13412         (gst_basic_scheduler_loopfunc_wrapper),
13413         (gst_basic_scheduler_chain_wrapper),
13414         (gst_basic_scheduler_src_wrapper),
13415         (gst_basic_scheduler_remove_element):
13416         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13417         Remove threadsafe properties. Fix elements because GObject
13418         complains when installing a property before declaring a
13419         set/get_property handler.
13420         Rearrange gstelement.h file, use STATE macros for state locks.
13421         Free mutexes in the finalize method instead of dispose.
13422
13423 2005-03-08  Wim Taymans  <wim@fluendo.com>
13424
13425         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13426         * gst/gstthread.c: (gst_thread_release_children_locks):
13427         Added parentage check.
13428         Fix build og GstThread again.
13429
13430 2005-03-08  Wim Taymans  <wim@fluendo.com>
13431
13432         * docs/design/part-MT-refcounting.txt:
13433         * docs/design/part-conventions.txt:
13434         * docs/design/part-gstobject.txt:
13435         * docs/design/part-relations.txt:
13436         * docs/design/part-standards.txt:
13437         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13438         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13439         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13440         (gst_bin_iterate_all_by_interface):
13441         * gst/gstbuffer.h:
13442         * gst/gstclock.h:
13443         * gst/gstelement.c: (gst_element_class_init),
13444         (gst_element_change_state), (gst_element_set_loop_function):
13445         * gst/gstelement.h:
13446         * gst/gstiterator.c:
13447         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13448         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13449         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13450         (gst_object_set_parent), (gst_object_unparent),
13451         (gst_object_check_uniqueness):
13452         * gst/gstobject.h:
13453         Docs updates, clean up some headers.
13454
13455 2005-03-07  Wim Taymans  <wim@fluendo.com>
13456
13457         * check/.cvsignore:
13458         * check/Makefile.am:
13459         * check/gst-libs/.cvsignore:
13460         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13461         * check/gst/.cvsignore:
13462         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13463         (START_TEST), (gstbus_suite), (main):
13464         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13465         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13466         (gst_data_suite), (main):
13467         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13468         (add_fold_func), (gstiterator_suite), (main):
13469         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13470         (thread_name_object), (thread_name_object_default),
13471         (gst_object_name_compare), (gst_object_suite), (main):
13472         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13473         (gst_pad_suite), (main):
13474         * check/gstcheck.c: (gst_check_log_message_func),
13475         (gst_check_log_critical_func), (gst_check_init):
13476         * check/gstcheck.h:
13477         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13478         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13479         Added checks.
13480
13481 2005-03-07  Wim Taymans  <wim@fluendo.com>
13482
13483         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13484         (gst_list_iterator_next), (gst_list_iterator_resync),
13485         (gst_list_iterator_free), (gst_iterator_new_list),
13486         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13487         (gst_iterator_free), (gst_iterator_push), (filter_next),
13488         (filter_resync), (filter_uninit), (filter_free),
13489         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13490         (gst_iterator_foreach), (find_custom_fold_func),
13491         (gst_iterator_find_custom):
13492         * gst/gstiterator.h:
13493         Added missing files.
13494
13495 2005-03-07  Wim Taymans  <wim@fluendo.com>
13496
13497         * Makefile.am:
13498         * configure.ac:
13499         * docs/design/part-MT-refcounting.txt:
13500         * docs/design/part-conventions.txt:
13501         * docs/design/part-gstobject.txt:
13502         * docs/design/part-relations.txt:
13503         * examples/mixer/mixer.c: (main):
13504         * examples/thread/thread.c: (eos), (main):
13505         * gst/Makefile.am:
13506         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13507         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13508         (gst_spider_plug_from_srcpad):
13509         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13510         (gst_spider_identity_change_state),
13511         (gst_spider_identity_sink_loop_type_finding):
13512         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13513         * gst/elements/gstidentity.c: (gst_identity_init):
13514         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13515         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13516         * gst/elements/gsttypefindelement.c: (free_entry):
13517         * gst/gst.c:
13518         * gst/gst.h:
13519         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13520         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13521         (gst_bin_set_index), (gst_bin_set_element_sched),
13522         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13523         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13524         (gst_bin_iterate_elements), (iterate_child_recurse),
13525         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13526         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13527         (compare_interface), (gst_bin_get_by_interface),
13528         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13529         * gst/gstbin.h:
13530         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13531         (gst_buffer_default_free), (gst_buffer_default_copy),
13532         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13533         (gst_buffer_create_sub):
13534         * gst/gstbuffer.h:
13535         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13536         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13537         (gst_caps_unref), (gst_static_caps_get),
13538         (gst_caps_remove_and_get_structure), (gst_caps_append),
13539         (gst_caps_append_structure), (gst_caps_remove_structure),
13540         (gst_caps_copy_nth), (gst_caps_set_simple),
13541         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13542         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13543         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13544         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13545         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13546         (gst_caps_structure_figure_out_union),
13547         (gst_caps_switch_structures), (gst_caps_do_simplify),
13548         (gst_caps_replace), (gst_caps_from_string),
13549         (gst_caps_copy_conditional):
13550         * gst/gstcaps.h:
13551         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13552         (_gst_clock_id_free), (gst_clock_id_unref),
13553         (gst_clock_id_compare_func), (gst_clock_id_wait),
13554         (gst_clock_id_wait_async), (gst_clock_class_init),
13555         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13556         (gst_clock_get_time), (gst_clock_set_time_adjust),
13557         (gst_clock_set_property), (gst_clock_get_property):
13558         * gst/gstclock.h:
13559         * gst/gstcompat.h:
13560         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13561         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13562         * gst/gstdata.h:
13563         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13564         (gst_element_requires_clock), (gst_element_provides_clock),
13565         (gst_element_set_clock), (gst_element_clock_wait),
13566         (gst_element_wait), (gst_element_set_time_delay),
13567         (gst_element_is_indexable), (gst_element_add_pad),
13568         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13569         (pad_compare_name), (gst_element_get_static_pad),
13570         (gst_element_request_pad), (gst_element_get_request_pad),
13571         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13572         (gst_element_class_get_pad_template_list),
13573         (gst_element_class_get_pad_template), (gst_element_error_func),
13574         (gst_element_get_random_pad), (gst_element_get_event_masks),
13575         (gst_element_send_event), (gst_element_seek),
13576         (gst_element_get_query_types), (gst_element_query),
13577         (gst_element_get_formats), (gst_element_convert),
13578         (gst_element_is_locked_state), (gst_element_set_locked_state),
13579         (gst_element_sync_state_with_parent), (gst_element_change_state),
13580         (gst_element_finalize), (gst_element_yield),
13581         (gst_element_interrupt), (gst_element_set_scheduler),
13582         (gst_element_get_scheduler), (gst_element_set_loop_function):
13583         * gst/gstelement.h:
13584         * gst/gstevent.h:
13585         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13586         (gst_format_get_by_nick), (gst_format_get_details),
13587         (gst_format_iterate_definitions):
13588         * gst/gstformat.h:
13589         * gst/gstindex.c: (gst_index_gtype_resolver):
13590         * gst/gstinfo.c:
13591         * gst/gstinfo.h:
13592         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13593         (gst_mem_chunk_free):
13594         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13595         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13596         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13597         (gst_object_dispatch_properties_changed),
13598         (gst_object_set_name_default), (gst_object_set_name),
13599         (gst_object_get_name), (gst_object_set_name_prefix),
13600         (gst_object_get_name_prefix), (gst_object_set_parent),
13601         (gst_object_get_parent), (gst_object_unparent),
13602         (gst_object_check_uniqueness), (gst_object_save_thyself),
13603         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13604         (gst_object_set_property), (gst_object_get_property),
13605         (gst_object_get_path_string):
13606         * gst/gstobject.h:
13607         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13608         (gst_real_pad_init), (gst_real_pad_get_property),
13609         (gst_pad_custom_new), (gst_pad_get_direction),
13610         (gst_pad_set_active), (gst_pad_is_active),
13611         (gst_pad_set_event_function), (gst_pad_is_linked),
13612         (gst_pad_link_free), (gst_pad_link_intersect),
13613         (gst_pad_link_fixate), (gst_pad_set_caps),
13614         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13615         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13616         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13617         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13618         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13619         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13620         (gst_pad_realize), (gst_pad_get_allowed_caps),
13621         (gst_real_pad_dispose), (gst_real_pad_finalize),
13622         (gst_pad_collectv), (gst_pad_collect_valist),
13623         (gst_pad_template_dispose), (gst_pad_template_new),
13624         (gst_pad_get_internal_links):
13625         * gst/gstpad.h:
13626         * gst/gstpipeline.c: (gst_pipeline_dispose),
13627         (gst_pipeline_change_state):
13628         * gst/gstpipeline.h:
13629         * gst/gstplugin.c:
13630         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13631         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13632         * gst/gstpluginfeature.h:
13633         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13634         * gst/gstquery.c: (_gst_query_type_initialize),
13635         (gst_query_type_register), (gst_query_type_get_by_nick),
13636         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13637         * gst/gstquery.h:
13638         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13639         * gst/gstscheduler.c: (gst_scheduler_add_element),
13640         (gst_scheduler_factory_create):
13641         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13642         (gst_structure_free), (gst_structure_set_name),
13643         (gst_structure_id_set_value), (gst_structure_set_value),
13644         (gst_structure_set_valist), (gst_structure_remove_field),
13645         (gst_structure_remove_fields),
13646         (gst_structure_remove_fields_valist),
13647         (gst_structure_remove_all_fields), (gst_structure_foreach),
13648         (gst_structure_map_in_place),
13649         (gst_caps_structure_fixate_field_nearest_int),
13650         (gst_caps_structure_fixate_field_nearest_double):
13651         * gst/gststructure.h:
13652         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13653         (gst_system_clock_init), (gst_system_clock_dispose),
13654         (gst_system_clock_async_thread),
13655         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13656         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13657         * gst/gstsystemclock.h:
13658         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13659         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13660         * gst/gsttaginterface.c:
13661         * gst/gstthread.c: (gst_thread_dispose),
13662         (gst_thread_release_children_locks), (gst_thread_change_state),
13663         (gst_thread_main_loop):
13664         * gst/gsttrashstack.h:
13665         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13666         * gst/gsttypes.h:
13667         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13668         (gst_element_request_pad), (gst_element_get_pad_from_template),
13669         (gst_element_request_compatible_pad),
13670         (gst_element_get_compatible_pad_filtered),
13671         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13672         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13673         (gst_element_link_many), (gst_element_link),
13674         (gst_element_link_pads), (gst_element_unlink_pads),
13675         (gst_element_unlink_many), (gst_element_unlink),
13676         (gst_pad_can_link_filtered), (gst_pad_can_link),
13677         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13678         (gst_object_default_error), (gst_bin_add_many),
13679         (gst_bin_remove_many), (gst_element_populate_std_props),
13680         (gst_element_class_install_std_props), (gst_buffer_merge),
13681         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13682         (link_fold_func), (gst_pad_proxy_setcaps):
13683         * gst/gstutils.h:
13684         * gst/gstvalue.c: (gst_value_deserialize_string):
13685         * gst/parse/grammar.y:
13686         * gst/schedulers/gstbasicscheduler.c:
13687         (gst_basic_scheduler_cothreaded_chain),
13688         (gst_basic_scheduler_chain_recursive_add),
13689         (gst_basic_scheduler_pad_link):
13690         * gst/schedulers/gstoptimalscheduler.c:
13691         (get_group_schedule_function),
13692         (gst_opt_scheduler_state_transition),
13693         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13694         * libs/gst/bytestream/bytestream.c:
13695         * libs/gst/dataprotocol/dataprotocol.c:
13696         (gst_dp_header_from_buffer):
13697         * po/nb.po:
13698         * po/ru.po:
13699         * tests/threadstate/threadstate2.c: (eos):
13700         * tools/gst-compprep.c: (main):
13701         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13702         (print_pad_info), (print_children_info):
13703         * tools/gst-launch.c: (idle_func), (main):
13704         * tools/gst-md5sum.c: (idle_func), (main):
13705         * tools/gst-xmlinspect.c: (print_element_info):
13706         First THREADED backport attempt, focusing on adding locks and
13707         making sure the API is threadsafe. Needs more work. More docs
13708         follow this week.
13709
13710 2005-02-24  Andy Wingo  <wingo@pobox.com>
13711
13712         * tests/bench-complexity.scm:
13713         * tests/complexity.gnuplot: New files, good for running complexity
13714         benchmarks.
13715
13716         * tests/Makefile.am:
13717         * tests/complexity.c: New test, sets up N elements, at each level
13718         teeing into M streams per element. Eeeenteresting.
13719
13720         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13721         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13722         running bench-mass_elements.scm.
13723
13724         * tests/bench-mass_elements.scm: New script, runs mass_elements
13725         for various numbers of identities, outputting the results to a
13726         file. Requires guile 1.6. Just for testing.
13727
13728 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13729
13730         * gst/schedulers/fairscheduler.c:
13731           compile with debug disabled
13732
13733 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13734
13735         * configure.ac:
13736           hunting season on 0.9 is now OPEN