docs/design/part-trickmodes.txt: More documentation on trickmodes.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-20  Wim Taymans  <wim@fluendo.com>
2
3         * docs/design/part-trickmodes.txt:
4         More documentation on trickmodes.
5
6 2005-12-20  Edward Hervey  <edward@fluendo.com>
7
8         * gst/gstcaps.c: (gst_static_caps_get_type):
9         * gst/gstcaps.h:
10         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
11         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12         * gst/gstpadtemplate.h:
13         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14         bindings.
15
16 2005-12-18  Wim Taymans  <wim@fluendo.com>
17
18         * libs/gst/base/gstadapter.c:
19         * libs/gst/base/gstadapter.h:
20         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
21         (gst_base_sink_get_position):
22         * libs/gst/base/gstbasesink.h:
23         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
24         (gst_base_src_default_query), (gst_base_src_default_do_seek),
25         (gst_base_src_do_seek), (gst_base_src_perform_seek),
26         (gst_base_src_send_event), (gst_base_src_update_length),
27         (gst_base_src_get_range), (gst_base_src_loop),
28         (gst_base_src_start):
29         * libs/gst/base/gstbasesrc.h:
30         * libs/gst/base/gstbasetransform.h:
31         * libs/gst/base/gstcollectpads.h:
32         * libs/gst/base/gstpushsrc.c:
33         * libs/gst/base/gstpushsrc.h:
34         * libs/gst/dataprotocol/dataprotocol.c:
35         * libs/gst/dataprotocol/dataprotocol.h:
36         * libs/gst/net/gstnetclientclock.h:
37         * libs/gst/net/gstnettimeprovider.h:
38         Documentation updates.
39
40 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
41
42         * docs/manual/basics-helloworld.xml:
43           Remove superfluous closing bracket in helloworld example.
44
45 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * tools/gst-launch.1.in:
48           Update gst-launch man page; add a section with useful
49           environment variables. Fixes #323882.
50
51 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
52
53         * gst/gst.c:
54         * gst/gst_private.h:
55           change some char* into char[]
56
57 2005-12-16  Wim Taymans  <wim@fluendo.com>
58
59         * gst/gstregistryxml.c: (load_feature):
60         Cleanups.
61         Don't use g_object_unref on GstObjects so that we avoid
62         leaks on unsafe glibs.
63
64 2005-12-16  Wim Taymans  <wim@fluendo.com>
65
66         * gst/gstbin.c: (gst_bin_recalc_state):
67         Small doc updates.
68
69 2005-12-16  Wim Taymans  <wim@fluendo.com>
70
71         * common/check.mak:
72         Added make forever target for check.
73
74 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
75
76         * gst/gst.c: (init_post):
77           make the registry cache file HOST_CPU-dependent
78
79 2005-12-16  Andy Wingo  <wingo@pobox.com>
80
81         * plugins/elements/gstbufferstore.c
82         (gst_buffer_store_cleared_func): Pay attention to g_list_append
83         return value.
84
85         * tests/check/gst/gstobject.c
86         (test_fake_object_name_threaded_unique): Pay attention to
87         g_list_sort return value.
88
89 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
90
91         * tools/gst-feedback-m.m:
92           Update for 0.9/0.10 (fixes #323870).
93
94 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
95
96         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
97           Fix lcopy for mini objects, the mini object needs to be ref'ed.
98           
99         * tests/check/gst/gstminiobject.c: (my_foo_init),
100         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
101         (test_value_collection), (gst_mini_object_suite):
102           Add test to ensure refcounts end up as expected when passing
103           GstMiniObjects through g_object_get() and g_object_set().
104
105 2005-12-14  Julien MOUTTE  <julien@moutte.net>
106
107         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
108         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
109         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
110         of collectpads. This version removes a lot of races without
111         touching API/ABI. Yay !
112
113 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
114
115         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
116           Don't allow activation of a srcpad in pull_range if it has no
117           getrange function.
118           Change some debug statements to be a little clearer
119
120         * plugins/elements/gsttypefindelement.c:
121         (gst_type_find_handle_src_query):
122           Check that we have a peer before executing queries thereupon.
123
124         * tests/examples/metadata/read-metadata.c: (message_loop):
125           Use gst_bus_pop instead of gst_bus_poll when we just want it to
126           immediately return us any available message with 0 timeout.
127
128 2005-12-12  Michael Smith  <msmith@fluendo.com>
129
130         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
131           Don't unref factories after calling them.
132         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
133         * plugins/elements/gsttypefindelement.c:
134         (gst_type_find_element_chain):
135           Free lists of factories after using them. Fixing typefinding memory
136           leaks.
137
138 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
139
140         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
141         (gst_plugin_feature_load):
142           more meaningful debug output
143         * configure.ac:
144         * tests/Makefile.am:
145         * tests/old/examples/Makefile.am:
146           make make distcheck happy again
147
148 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
149
150         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
151           Catch the special case where we are operating chain-based,
152           but the downstream peer pad has no chain function. Emit a
153           custom error message in this case instead of letting the
154           core generate one implying that this is some sort of core
155           bug. It's not, it just means that whatever got plugged
156           into the pipeline downstream when we announced the type
157           can only operate pull-based, while our source can only
158           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
159           Error string has not been marked for translation yet, as
160           it probably needs some more work first.
161
162         (gst_type_find_element_get_best_possibility):
163           Add helper function to find the best of all available
164           found possibilities that qualify given the min. threshold.
165
166         (gst_type_find_element_handle_event):
167           Fix the case where we get an EOS while still in TYPEFIND
168           mode (we want to chose the best of all possible types,
169           not just the first type that happens to be in our unsorted
170           list of possible types).
171
172         (gst_type_find_element_chain):
173           Make sure we return GST_FLOW_ERROR when we errored out
174           in stop_typefinding(); also, don't just find the best of
175           all found type entries and then use the last examined
176           type entry, but actually use the best entry.
177
178 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
179
180         * tests/examples/typefind/typefind.c: (type_found):
181         * tests/examples/xml/runxml.c: (xml_loaded):
182           More gcc4 fixes and a mem leak fix.
183
184 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
185
186         * tests/examples/xml/createxml.c: (object_saved):
187           gcc 4 fixes
188
189 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
190
191         * tests/Makefile.am:
192           enable the examples even more
193
194 2005-12-12  Andy Wingo  <wingo@pobox.com>
195
196         * libs/gst/net/gstnettimeprovider.c
197         (gst_net_time_provider_class_init, gst_net_time_provider_init)
198         (gst_net_time_provider_set_property)
199         (gst_net_time_provider_get_property): Export "active" as a GObject
200         property.
201         (gst_net_time_provider_thread): Only respond to time queries if
202         the time provider is active.
203
204         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
205         NetTimeProvider, preserving binary compat.
206
207 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
208
209         * tests/examples/controller/audio-example.c: (main):
210         * tests/examples/launch/Makefile.am:
211           convert comments again
212
213 2005-12-12  Wim Taymans  <wim@fluendo.com>
214
215         * libs/gst/base/gstpushsrc.c:
216         Fix typo.
217
218 2005-12-12  Wim Taymans  <wim@fluendo.com>
219
220         * docs/libs/gstreamer-libs-sections.txt:
221         Added new symbol to docs.
222
223         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
224         (gst_base_src_init), (gst_base_src_set_format),
225         (gst_base_src_default_query), (gst_base_src_query),
226         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
227         (gst_base_src_perform_seek), (gst_base_src_send_event),
228         (gst_base_src_default_event), (gst_base_src_event_handler),
229         (gst_base_src_set_property), (gst_base_src_get_property),
230         (gst_base_src_wait), (gst_base_src_do_sync),
231         (gst_base_src_update_length), (gst_base_src_get_range),
232         (gst_base_src_check_get_range), (gst_base_src_loop),
233         (gst_base_src_default_negotiate), (gst_base_src_start),
234         (gst_base_src_activate_push), (gst_base_src_activate_pull),
235         (gst_base_src_change_state):
236         * libs/gst/base/gstbasesrc.h:
237         Implement seeking to other formats than _BYTES.
238         Implement more seeking methods correctly.
239         Doc updates.
240         Added query vmethod.
241         Added do_seek vmethod to make life easier for subclasses
242         when seeking.
243         API addition: gst_base_src_set_format()
244
245 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
246
247         * tests/examples/Makefile.am:
248           added that too
249
250 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
251
252         * configure.ac:
253         * docs/random/ensonic/media-device-daemon.txt:
254         * tests/examples/controller/.cvsignore:
255         * tests/examples/controller/Makefile.am:
256         * tests/examples/controller/audio-example.c: (main):
257         * tests/examples/helloworld/.cvsignore:
258         * tests/examples/helloworld/Makefile.am:
259         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
260         * tests/examples/launch/.cvsignore:
261         * tests/examples/launch/Makefile.am:
262         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
263         * tests/examples/metadata/.cvsignore:
264         * tests/examples/metadata/Makefile.am:
265         * tests/examples/metadata/read-metadata.c: (message_loop),
266         (make_pipeline), (print_tag), (main):
267         * tests/examples/queue/.cvsignore:
268         * tests/examples/queue/Makefile.am:
269         * tests/examples/queue/queue.c: (event_loop), (main):
270         * tests/examples/typefind/.cvsignore:
271         * tests/examples/typefind/Makefile.am:
272         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
273         (main):
274         * tests/examples/xml/.cvsignore:
275         * tests/examples/xml/Makefile.am:
276         * tests/examples/xml/createxml.c: (object_saved), (main):
277         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
278         * tests/old/examples/Makefile.am:
279         * tests/old/examples/TODO:
280         * tests/old/examples/controller/.cvsignore:
281         * tests/old/examples/controller/Makefile.am:
282         * tests/old/examples/controller/audio-example.c:
283         * tests/old/examples/helloworld/.cvsignore:
284         * tests/old/examples/helloworld/Makefile.am:
285         * tests/old/examples/helloworld/helloworld.c:
286         * tests/old/examples/launch/.cvsignore:
287         * tests/old/examples/launch/Makefile.am:
288         * tests/old/examples/launch/mp3parselaunch.c:
289         * tests/old/examples/launch/mp3play:
290         * tests/old/examples/manual/Makefile.am:
291         * tests/old/examples/metadata/Makefile.am:
292         * tests/old/examples/metadata/read-metadata.c:
293         * tests/old/examples/queue/.cvsignore:
294         * tests/old/examples/queue/Makefile.am:
295         * tests/old/examples/queue/queue.c:
296         * tests/old/examples/typefind/.cvsignore:
297         * tests/old/examples/typefind/Makefile.am:
298         * tests/old/examples/typefind/typefind.c:
299         * tests/old/examples/xml/.cvsignore:
300         * tests/old/examples/xml/Makefile.am:
301         * tests/old/examples/xml/createxml.c:
302         * tests/old/examples/xml/runxml.c:
303           applied some simple fixing to some examples
304           re-enabled the working examples
305
306 2005-12-12  Wim Taymans  <wim@fluendo.com>
307
308         * gst/gstsegment.c: (gst_segment_init),
309         (gst_segment_set_last_stop), (gst_segment_set_seek),
310         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
311         (gst_segment_to_running_time):
312         Added more documentation.
313         Make sure the last_pos value is updated properly.
314         Make sure to_stream_time and to_running_time don't
315         operate on wrong values.
316
317         * tests/check/gst/gstsegment.c: (GST_START_TEST):
318         Update check.
319
320 2005-12-12  Michael Smith  <msmith@fluendo.com>
321
322         * plugins/elements/gsttypefindelement.c: (free_entry),
323         (gst_type_find_element_chain):
324           Now that we're not leaking factories, make sure we keep references
325           to them while we need them.
326
327 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
328
329         * tests/check/gst/struct_i386.h:
330           ifdef out the XML structs
331
332 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         * gst/gstvalue.c: (gst_value_transform_double_fraction):
335           floor is not needed, F is always positive; this obviates the
336           need for adding -lm when building without libxml
337
338 2005-12-12  Wim Taymans  <wim@fluendo.com>
339
340         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
341         Take current playback rate into account when reporting
342         the position.
343
344 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
345
346         * docs/manual/mime-world.fig:
347           Let's try this again, this time with a file that is
348           actually in XFig format.
349
350 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
351
352         * docs/manual/mime-world.fig:
353           Add audioconvert element to diagram so that it
354           matches the text and the code (fixes #319526).
355
356 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
357
358         * docs/pwg/building-chainfn.xml:
359         * docs/pwg/building-pads.xml:
360         * docs/pwg/building-state.xml:
361         * docs/pwg/other-source.xml:
362           Update state change stuff for 0.10 (fixes #322969).
363
364 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
365
366         * docs/manual/advanced-dataaccess.xml:
367         * docs/manual/appendix-checklist.xml:
368         * docs/manual/appendix-programs.xml:
369         * docs/manual/basics-pads.xml:
370         * docs/manual/highlevel-components.xml:
371         * docs/manual/manual.xml:
372           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
373           add converters in front of pipelines; remove curly
374           brackets for threads stuff, they no longer exist; use
375           GST_TYPE_FRACTION for framerates; update some pieces of
376           code to 0.10, but there's plenty more to do.
377
378         * docs/manual/appendix-porting.xml:
379           Expand on asynchroneous state changes; s/0.9/0.10/;
380           mention disappearance of gst_init_get_popt_table()
381           (fixes #322916).
382
383 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
384
385         * docs/faq/using.xml:
386           Spider no longer exists, and neither does gst-launch-ext.
387           Update examples to use decodebin and playbin and put
388           converters in front of sinks (fixes #323726).
389
390 2005-12-09  Michael Smith  <msmith@fluendo.com>
391
392         * plugins/elements/gsttypefindelement.c: (find_peek),
393         (gst_type_find_element_chain):
394           Fix leaking element factories in typefinding.
395           Fix problem where we forgot about a probable type on non-seekable
396           files, and thus later mis-typefound it.
397
398 2005-12-09  Michael Smith  <msmith@fluendo.com>
399
400         * common/m4/gst-makecontext.m4:
401         * common/m4/gst-mcsc.m4:
402         * configure.ac:
403         * win32/common/config.h:
404         * win32/common/config.h.in:
405           Remove makecontext stuff; not used in 0.10 and causes problems on
406           HPUX according to bug #322441
407
408 2005-12-07  Wim Taymans  <wim@fluendo.com>
409
410         * tests/check/Makefile.am:
411         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
412         (main):
413         * tests/check/libs/struct_i386.h:
414         Added ABI check for libs
415
416 2005-12-07  Wim Taymans  <wim@fluendo.com>
417
418         * tests/check/Makefile.am:
419         And add the struct_i386.h to dist.
420
421 2005-12-07  Wim Taymans  <wim@fluendo.com>
422
423         * tests/check/Makefile.am:
424         * tests/check/gst/.cvsignore:
425         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
426         (main):
427         * tests/check/gst/struct_i386.h:
428         Added check for ABI compatibility.
429
430 2005-12-07  Wim Taymans  <wim@fluendo.com>
431
432         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
433         (gst_fake_src_get_times), (gst_fake_src_create):
434         Fix broken sync option, fixes #323259
435
436 2005-12-07  Wim Taymans  <wim@fluendo.com>
437
438         * gst/gstbuffer.c:
439         Small docs update.
440
441         * gst/gstcaps.c: (gst_caps_is_equal):
442         Don't assert on NULL <--> X. Fixes #323260
443
444         * gst/gstminiobject.c: (gst_mini_object_replace):
445         If we're doing atomic operations, we might just as well use
446         the proper way to get an atomic pointer.
447
448         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
449         Clean up debugging.
450
451 2005-12-07  Michael Smith  <msmith@fluendo.com>
452
453         * gst/parse/grammar.y:
454           Remove handling of { } for threads.
455
456 2005-12-06  David Schleef  <ds@schleef.org>
457
458         * libs/gst/base/gstbasetransform.c: speling fix.
459
460 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
461
462         * docs/libs/tmpl/gstdataprotocol.sgml:
463         * docs/random/omega/testing/gstobject.c:
464         * gst/gst.c:
465         * gst/gstclock.c:
466         * gst/gstelement.c:
467         * gst/gstelementfactory.c:
468         * gst/gsterror.c:
469         * gst/gstevent.c:
470         * gst/gstghostpad.c:
471         * gst/gstinfo.c:
472         * gst/gstpadtemplate.c:
473         * gst/gstregistryxml.c:
474         * gst/gsttaglist.c:
475         * gst/gsttagsetter.c:
476         * gst/gsttypefind.c:
477         * gst/gstvalue.c:
478         * libs/gst/base/gstbasesrc.c:
479         * libs/gst/net/gstnetclientclock.c:
480         * libs/gst/net/gstnettimeprovider.c:
481         * plugins/elements/gstfakesrc.c:
482         * plugins/elements/gstfdsrc.c:
483         * plugins/elements/gstfilesrc.c:
484         * plugins/elements/gstidentity.c:
485         * plugins/elements/gstqueue.c:
486         * plugins/elements/gsttypefindelement.c:
487         * plugins/indexers/gstfileindex.c:
488         * plugins/indexers/gstmemindex.c:
489         * tests/check/gst/gsttag.c:
490         * tests/old/examples/cutter/cutter.c:
491         * tests/old/examples/mixer/mixer.c:
492         * tests/old/examples/xml/runxml.c: (main):
493         * tests/old/testsuite/caps/normalisation.c:
494         * tests/old/testsuite/debug/global.c:
495         * tests/old/testsuite/parse/parse1.c:
496         * tools/gst-xmlinspect.c:
497         * win32/common/dirent.c:
498           expand tabs
499
500 === release 0.10.0 ===
501
502 2005-12-05   <thomas (at) apestaart (dot) org>
503
504         * configure.ac:
505           releasing 0.10.0, "Maroilles"
506
507 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
508
509         submitted by: Funda Wang <fundawang@linux.net.cn>
510
511         * po/LINGUAS:
512         * po/zh_CN.po:
513           added Chinese (Traditional) translation
514
515 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
516
517         * docs/gst/gstreamer-sections.txt:
518         * docs/libs/tmpl/gstdataprotocol.sgml:
519         * docs/random/thomasvs/TODO:
520         * gst/gstutils.c:
521         * gst/gstutils.h:
522           fix docs
523
524 2005-12-05  Andy Wingo  <wingo@pobox.com>
525
526         patch by: Wim Taymans <wim@fluendo.com>
527
528         * libs/gst/base/gstbasetransform.c
529         (gst_base_transform_prepare_output_buf)
530         (gst_base_transform_buffer_alloc):
531         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
532         alloc_buffer_and_set_caps.
533
534         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
535         set_caps on the source pad.
536         (gst_pad_alloc_buffer_and_set_caps): New function, does what
537         alloc_buffer used to do. Fixes #322874.
538
539         * docs/gst/gstreamer-sections.txt: 
540         * docs/design/part-negotiation.txt: 
541         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
542         changes.
543
544 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
545
546         patch by: Sebastien Moutte
547
548         * win32/MANIFEST:
549         * win32/common/config.h.in:
550         * win32/vs6/libgstcontroller.dsp:
551           win32 build fixes
552
553 2005-12-05  Wim Taymans  <wim@fluendo.com>
554
555         * gst/gstcaps.c: (gst_caps_is_equal):
556         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
557         (gst_fake_src_create):
558         Back out previous code changes, leave doc updates, file bugs 
559         instead. 
560
561 2005-12-05  Wim Taymans  <wim@fluendo.com>
562
563         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
564         (gst_fake_src_get_times), (gst_fake_src_create):
565         * plugins/elements/gstfakesrc.h:
566         Fix broken sync code.
567
568 2005-12-05  Wim Taymans  <wim@fluendo.com>
569
570         * gst/gstcaps.c: (gst_caps_is_equal):
571         Comparing NULL against !NULL yields different caps, not a
572         failure.
573
574 2005-12-05  Wim Taymans  <wim@fluendo.com>
575
576         * gst/gstpipeline.c:
577         Fix small typo in docs.
578
579 2005-12-05  Andy Wingo  <wingo@pobox.com>
580
581         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
582
583         * gst/gst.c (init_post): remove hard-coded 0.9 location for
584         registries/plugins with a MAJORMINOR one.
585         (plugin_desc): Rename library from gstcoreleements to
586         staticelements. Fixes #323222.
587
588 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
589
590         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
591           Change debug category to 'collectpads' from 'collect_pads'
592           (fixes #323250).
593
594 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
595
596         patch by: Sebastien Moutte
597
598         * libs/gst/controller/gstinterpolation.c:
599           use convert function for uint64/double
600         * win32/vs6/libgstcontroller.dsp:
601           link to GLib
602
603 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
604
605         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
606         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
607         * gst/gstutils.h:
608         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
609           add tests that seem to show that the guint64/gdouble conversions
610           are correct.
611
612 2005-12-02  Wim Taymans  <wim@fluendo.com>
613
614         * gst/gstregistry.c: (gst_registry_add_path):
615         * gst/gstregistry.h:
616         * gst/gstregistryxml.c:
617         Fix docs again.
618
619 2005-12-02  Wim Taymans  <wim@fluendo.com>
620
621         * gst/gstutils.c: (gst_util_uint64_scale_int64),
622         (gst_util_uint64_scale_int):
623         Small cleanup.
624
625         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
626         Add debug log line.
627
628         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
629         Add FIXME.
630
631 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
632
633         * win32/MANIFEST:
634         * win32/common/config.h:
635         * win32/vs6/gstreamer.dsw:
636         * win32/vs6/libgstcoreelements.dsp:
637         * win32/vs6/libgstelements.dsp:
638           renamed core elements plugin
639
640 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
641
642         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
643         (get_candidates):
644           do piece-wise major/minor comparison so 0.9 < 0.10
645           also allow .exe extensions for tools
646
647 2005-12-02  Michael Smith  <msmith@fluendo.com>
648
649         * gst/gst.c:
650           Escape a % to make gtkdoc happier; bug 322958.
651
652 === release 0.9.7 ===
653
654 2005-12-01   <thomas (at) apestaart (dot) org>
655
656         * configure.ac:
657           releasing 0.9.7, "My Dog Has No Nose"
658
659 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
660
661         * common/gst-xmlinspect.py:
662         * configure.ac:
663         * docs/libs/tmpl/gstdataprotocol.sgml:
664         * docs/random/release:
665         * po/af.po:
666         * po/az.po:
667         * po/bg.po:
668         * po/ca.po:
669         * po/cs.po:
670         * po/de.po:
671         * po/en_GB.po:
672         * po/fr.po:
673         * po/it.po:
674         * po/nb.po:
675         * po/nl.po:
676         * po/ru.po:
677         * po/sq.po:
678         * po/sr.po:
679         * po/sv.po:
680         * po/tr.po:
681         * po/uk.po:
682         * po/vi.po:
683         * win32/common/config.h:
684         * win32/common/config.h.in:
685         * win32/vs6/gst_inspect.dsp:
686         * win32/vs6/gst_launch.dsp:
687         * win32/vs6/libgstbase.dsp:
688         * win32/vs6/libgstelements.dsp:
689         * win32/vs6/libgstreamer.dsp:
690         * win32/vs7/GStreamer.vcproj:
691         * win32/vs7/gst-inspect.vcproj:
692         * win32/vs7/gst-launch.vcproj:
693         * win32/vs7/libgstbase.vcproj:
694           bump GST_MAJORMINOR to 0.10
695           reset libtool version
696
697 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
698
699         * po/LINGUAS:
700         * po/bg.po:
701           Added Bulgarian translation by (Alexander Shopov)
702
703 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
704
705         * tests/check/gst/gstplugin.c:
706           fix test
707
708 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
709
710         * common/gst-xmlinspect.py:
711         * common/gtk-doc-plugins.mak:
712         * configure.ac:
713         * docs/Makefile.am:
714         * docs/gst/Makefile.am:
715         * docs/gst/gstreamer-docs.sgml:
716         * docs/gst/gstreamer-sections.txt:
717         * docs/gst/gstreamer.types:
718         * docs/gst/gstreamer.types.in:
719         * docs/plugins/Makefile.am:
720         * docs/plugins/gstreamer-plugins-docs.sgml:
721         * docs/plugins/gstreamer-plugins-sections.txt:
722         * docs/plugins/gstreamer-plugins.types:
723         * docs/plugins/inspect.stamp:
724         * docs/plugins/inspect/plugin-coreelements.xml:
725         * docs/plugins/inspect/plugin-coreindexers.xml:
726         * docs/plugins/scanobj-build.stamp:
727         * gstreamer.spec.in:
728         * plugins/elements/Makefile.am:
729         * plugins/elements/gstelements.c:
730         * plugins/elements/gstfakesink.c:
731         * plugins/elements/gstfakesrc.c:
732         * plugins/elements/gstfilesink.c:
733         * plugins/elements/gstfilesrc.c:
734         * plugins/elements/gstqueue.c:
735         * plugins/indexers/Makefile.am:
736         * plugins/indexers/gstindexers.c:
737           document core plugins in a separate document just like all the
738           others
739           rename these plugins to something starting with core
740
741 2005-12-01  Andy Wingo  <wingo@pobox.com>
742
743         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
744         padding here before, but it missed the commit.
745
746 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
747
748         * libs/gst/controller/gstinterpolation.c:
749           whitespace prices have crashed, we should feel free to use some now
750           use gst_guint64_to_gdouble
751
752 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
753
754         * libs/gst/controller/gstcontroller.c:
755         * libs/gst/controller/gsthelper.c:
756         * libs/gst/controller/gstinterpolation.c:
757         * libs/gst/controller/lib.c:
758           wrap config.h include
759
760 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
761
762         * docs/gst/gstreamer-sections.txt:
763           update docs
764
765 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
766
767         * plugins/elements/gstelements.c:
768         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
769         (gst_fd_sink__class_init), (gst_fd_sink__init),
770         (gst_fd_sink__chain), (gst_fd_sink__set_property),
771         (gst_fd_sink__get_property):
772         * plugins/elements/gstfdsink.h:
773         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
774         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
775         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
776         (gst_fd_src_unlock), (gst_fd_src_set_property),
777         (gst_fd_src_get_property), (gst_fd_src_create),
778         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
779         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
780         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
781         (gst_fd_src_uri_handler_init):
782         * plugins/elements/gstfdsrc.h:
783         * plugins/elements/gstqueue.c: (gst_queue_get_type):
784           more anal cleanup
785
786 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
787
788         * docs/gst/Makefile.am:
789         * docs/gst/gstreamer.types.in:
790         * gst/Makefile.am:
791           fix the docs build
792
793 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
794
795         * configure.ac:
796         * gst/Makefile.am:
797         * gst/gst.c:
798         * gst/gstplugin.h:
799         * gst/gstregistry.h:
800         * tests/benchmarks/complexity.c:
801         * tests/benchmarks/mass-elements.c:
802         * tests/check/Makefile.am:
803         * tools/Makefile.am:
804         * tools/gst-inspect.c:
805         * tools/gst-xmlinspect.c:
806           various fixes to make
807           --disable-nls --disable-registry --disable-loadsave
808           --disable-parse --disable-gst-debug
809           work and get the core .so down to 360444 bytes after stripping
810
811 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
812
813         * Makefile.am:
814         * configure.ac:
815           descend into tests
816         * docs/random/thomasvs/TODO:
817         * tests/Makefile.am:
818         * tests/README:
819           add a README
820
821 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
822
823         * win32/GStreamer.vcproj:
824         * win32/MANIFEST:
825         * win32/Makefile:
826         * win32/Makefile.inspect:
827         * win32/Makefile.launch:
828         * win32/Makefile.register:
829         * win32/README.txt:
830         * win32/gst-inspect.vcproj:
831         * win32/gst-launch.vcproj:
832         * win32/gst-register.vcproj:
833         * win32/gstelements.vcproj:
834         * win32/gstgetbits.def:
835         * win32/gstgetbits.vcproj:
836         * win32/gstreamer-dbg.def:
837         * win32/gstreamer.def:
838         * win32/libgstbase.def:
839         * win32/libgstbase.vcproj:
840         * win32/link_oldruntime.c:
841         * win32/mman.c:
842         * win32/mman.h:
843         * win32/mman.inl:
844         * win32/msvc71.sln:
845           move even more stuff, win32/ is nice and clean now
846
847 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
848
849         * libs/gst/control/.cvsignore:
850         * win32/MANIFEST:
851         * win32/config.h:
852         * win32/dirent.c:
853         * win32/dirent.h:
854         * win32/gstbytestream.def:
855         * win32/gstbytestream.vcproj:
856         * win32/gstconfig.h:
857         * win32/gstenumtypes.c:
858         * win32/gstenumtypes.h:
859         * win32/gstoptimalscheduler.vcproj:
860         * win32/gstversion.h:
861         * win32/gtchar.h:
862         * win32/testsuite/bins.vcproj:
863         * win32/testsuite/bytestream.vcproj:
864         * win32/testsuite/caps.vcproj:
865         * win32/testsuite/cleanup.vcproj:
866         * win32/testsuite/clock.vcproj:
867         * win32/testsuite/debug.vcproj:
868         * win32/testsuite/dlopen.vcproj:
869         * win32/testsuite/dynparams.vcproj:
870         * win32/testsuite/elements.vcproj:
871         * win32/testsuite/ghostpads.vcproj:
872         * win32/testsuite/indexers.vcproj:
873         * win32/testsuite/negotiation.vcproj:
874         * win32/testsuite/parse.vcproj:
875         * win32/testsuite/plugin.vcproj:
876         * win32/testsuite/refcounting.vcproj:
877         * win32/testsuite/schedulers.vcproj:
878         * win32/testsuite/states.vcproj:
879         * win32/testsuite/tags.vcproj:
880         * win32/testsuite/threads.vcproj:
881           remove old win32 stuff that isn't maintained and should be
882           reorganized
883
884 2005-11-30  Andy Wingo  <wingo@pobox.com>
885
886         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
887         loading the gst.interfaces python module bork.
888
889         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
890         available since GLib 2.2. Fixes #318031.
891
892 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
893
894         * Makefile.am:
895         * check/.cvsignore:
896         * check/Makefile.am:
897         * check/elements/.cvsignore:
898         * check/elements/fakesrc.c:
899         * check/elements/fdsrc.c:
900         * check/elements/identity.c:
901         * check/generic/.cvsignore:
902         * check/generic/states.c:
903         * check/gst-libs/.cvsignore:
904         * check/gst-libs/controller.c:
905         * check/gst-libs/gdp.c:
906         * check/gst/.cvsignore:
907         * check/gst/capslist.h:
908         * check/gst/gst.c:
909         * check/gst/gstbin.c:
910         * check/gst/gstbuffer.c:
911         * check/gst/gstbus.c:
912         * check/gst/gstcaps.c:
913         * check/gst/gstelement.c:
914         * check/gst/gstevent.c:
915         * check/gst/gstghostpad.c:
916         * check/gst/gstiterator.c:
917         * check/gst/gstmessage.c:
918         * check/gst/gstminiobject.c:
919         * check/gst/gstobject.c:
920         * check/gst/gstpad.c:
921         * check/gst/gstpipeline.c:
922         * check/gst/gstplugin.c:
923         * check/gst/gstsegment.c:
924         * check/gst/gststructure.c:
925         * check/gst/gstsystemclock.c:
926         * check/gst/gsttag.c:
927         * check/gst/gstutils.c:
928         * check/gst/gstvalue.c:
929         * check/net/.cvsignore:
930         * check/net/gstnetclientclock.c:
931         * check/net/gstnettimeprovider.c:
932         * check/pipelines/.cvsignore:
933         * check/pipelines/cleanup.c:
934         * check/pipelines/simple_launch_lines.c:
935         * check/pipelines/stress.c:
936         * check/states/.cvsignore:
937         * check/states/sinks.c:
938         * configure.ac:
939         * examples/Makefile.am:
940         * examples/appreader/.cvsignore:
941         * examples/appreader/Makefile.am:
942         * examples/appreader/appreader.c:
943         * examples/controller/.cvsignore:
944         * examples/controller/Makefile.am:
945         * examples/controller/audio-example.c:
946         * examples/cutter/.cvsignore:
947         * examples/cutter/Makefile.am:
948         * examples/cutter/cutter.c:
949         * examples/cutter/cutter.h:
950         * examples/events/Makefile.am:
951         * examples/events/seek.c:
952         * examples/helloworld/.cvsignore:
953         * examples/helloworld/Makefile.am:
954         * examples/helloworld/helloworld.c:
955         * examples/helloworld2/.cvsignore:
956         * examples/helloworld2/Makefile.am:
957         * examples/helloworld2/helloworld2.c:
958         * examples/launch/.cvsignore:
959         * examples/launch/Makefile.am:
960         * examples/launch/mp3parselaunch.c:
961         * examples/launch/mp3play:
962         * examples/manual/.cvsignore:
963         * examples/manual/Makefile.am:
964         * examples/manual/extract.pl:
965         * examples/metadata/Makefile.am:
966         * examples/metadata/read-metadata.c:
967         * examples/mixer/.cvsignore:
968         * examples/mixer/Makefile.am:
969         * examples/mixer/mixer.c:
970         * examples/mixer/mixer.h:
971         * examples/pingpong/.cvsignore:
972         * examples/pingpong/Makefile.am:
973         * examples/pingpong/pingpong.c:
974         * examples/plugins/.cvsignore:
975         * examples/plugins/Makefile.am:
976         * examples/plugins/example.c:
977         * examples/plugins/example.h:
978         * examples/pwg/.cvsignore:
979         * examples/pwg/Makefile.am:
980         * examples/pwg/extract.pl:
981         * examples/queue/.cvsignore:
982         * examples/queue/Makefile.am:
983         * examples/queue/queue.c:
984         * examples/queue2/.cvsignore:
985         * examples/queue2/Makefile.am:
986         * examples/queue2/queue2.c:
987         * examples/queue3/.cvsignore:
988         * examples/queue3/Makefile.am:
989         * examples/queue3/queue3.c:
990         * examples/queue4/.cvsignore:
991         * examples/queue4/Makefile.am:
992         * examples/queue4/queue4.c:
993         * examples/retag/.cvsignore:
994         * examples/retag/Makefile.am:
995         * examples/retag/retag.c:
996         * examples/retag/transcode.c:
997         * examples/thread/.cvsignore:
998         * examples/thread/Makefile.am:
999         * examples/thread/thread.c:
1000         * examples/typefind/.cvsignore:
1001         * examples/typefind/Makefile.am:
1002         * examples/typefind/typefind.c:
1003         * examples/xml/.cvsignore:
1004         * examples/xml/Makefile.am:
1005         * examples/xml/createxml.c:
1006         * examples/xml/runxml.c:
1007         * tests/Makefile.am:
1008         * tests/check/Makefile.am:
1009         * testsuite/.cvsignore:
1010         * testsuite/Makefile.am:
1011         * testsuite/Rules:
1012         * testsuite/caps/.cvsignore:
1013         * testsuite/caps/Makefile.am:
1014         * testsuite/caps/app_fixate.c:
1015         * testsuite/caps/audioscale.c:
1016         * testsuite/caps/caps.c:
1017         * testsuite/caps/caps.h:
1018         * testsuite/caps/caps_strings:
1019         * testsuite/caps/compatibility.c:
1020         * testsuite/caps/deserialize.c:
1021         * testsuite/caps/enumcaps.c:
1022         * testsuite/caps/eratosthenes.c:
1023         * testsuite/caps/filtercaps.c:
1024         * testsuite/caps/fixed.c:
1025         * testsuite/caps/fraction-convert.c:
1026         * testsuite/caps/fraction-multiply-and-zero.c:
1027         * testsuite/caps/intersect2.c:
1028         * testsuite/caps/intersection.c:
1029         * testsuite/caps/normalisation.c:
1030         * testsuite/caps/random.c:
1031         * testsuite/caps/renegotiate.c:
1032         * testsuite/caps/sets.c:
1033         * testsuite/caps/simplify.c:
1034         * testsuite/caps/string-conversions.c:
1035         * testsuite/caps/structure.c:
1036         * testsuite/caps/subtract.c:
1037         * testsuite/caps/union.c:
1038         * testsuite/debug/.cvsignore:
1039         * testsuite/debug/Makefile.am:
1040         * testsuite/debug/category.c:
1041         * testsuite/debug/commandline.c:
1042         * testsuite/debug/global.c:
1043         * testsuite/debug/output.c:
1044         * testsuite/debug/printf_extension.c:
1045         * testsuite/dlopen/.cvsignore:
1046         * testsuite/dlopen/Makefile.am:
1047         * testsuite/dlopen/dlopen_gst.c:
1048         * testsuite/dlopen/loadgst.c:
1049         * testsuite/elements/.cvsignore:
1050         * testsuite/elements/Makefile.am:
1051         * testsuite/elements/gst-inspect-check.in:
1052         * testsuite/elements/struct_i386.h:
1053         * testsuite/elements/struct_size.c:
1054         * testsuite/indexers/.cvsignore:
1055         * testsuite/indexers/Makefile.am:
1056         * testsuite/indexers/cache1.c:
1057         * testsuite/indexers/indexdump.c:
1058         * testsuite/parse/.cvsignore:
1059         * testsuite/parse/Makefile.am:
1060         * testsuite/parse/parse1.c:
1061         * testsuite/parse/parse2.c:
1062         * testsuite/plugin/.cvsignore:
1063         * testsuite/plugin/Makefile.am:
1064         * testsuite/plugin/README:
1065         * testsuite/plugin/dynamic.c:
1066         * testsuite/plugin/linked.c:
1067         * testsuite/plugin/loading.c:
1068         * testsuite/plugin/registry.c:
1069         * testsuite/plugin/static.c:
1070         * testsuite/plugin/static2.c:
1071         * testsuite/plugin/testplugin.c:
1072         * testsuite/plugin/testplugin2.c:
1073         * testsuite/plugin/testplugin2_s.c:
1074         * testsuite/plugin/testplugin_s.c:
1075         * testsuite/refcounting/.cvsignore:
1076         * testsuite/refcounting/Makefile.am:
1077         * testsuite/refcounting/bin.c:
1078         * testsuite/refcounting/element.c:
1079         * testsuite/refcounting/element_pad.c:
1080         * testsuite/refcounting/mainloop.c:
1081         * testsuite/refcounting/mem.c:
1082         * testsuite/refcounting/mem.h:
1083         * testsuite/refcounting/object.c:
1084         * testsuite/refcounting/pad.c:
1085         * testsuite/refcounting/sched.c:
1086         * testsuite/refcounting/thread.c:
1087         * testsuite/states/.cvsignore:
1088         * testsuite/states/Makefile.am:
1089         * testsuite/states/bin.c:
1090         * testsuite/states/locked.c:
1091         * testsuite/states/parent.c:
1092         * testsuite/threads/.cvsignore:
1093         * testsuite/threads/159566.c:
1094         * testsuite/threads/159852.c:
1095         * testsuite/threads/Makefile.am:
1096         * testsuite/threads/queue.c:
1097         * testsuite/threads/signals.c:
1098         * testsuite/threads/staticrec.c:
1099         * testsuite/threads/thread.c:
1100         * testsuite/threads/threadb.c:
1101         * testsuite/threads/threadc.c:
1102         * testsuite/threads/threadd.c:
1103         * testsuite/threads/threade.c:
1104         * testsuite/threads/threadf.c:
1105         * testsuite/threads/threadg.c:
1106         * testsuite/threads/threadh.c:
1107         * testsuite/threads/threadi.c:
1108           move all of these under tests
1109
1110 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1111
1112         * configure.ac:
1113         * tests/Makefile.am:
1114           fix distcheck
1115
1116 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1117
1118         * docs/gst/gstreamer-sections.txt:
1119         * tests/sched/.cvsignore:
1120         * tests/sched/Makefile.am:
1121         * tests/sched/cases/(fs-fs).xml:
1122         * tests/sched/cases/(fs-i-fs).xml:
1123         * tests/sched/cases/(fs-i-i-fs).xml:
1124         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1125         * tests/sched/dynamic-pipeline.c:
1126         * tests/sched/interrupt1.c:
1127         * tests/sched/interrupt2.c:
1128         * tests/sched/interrupt3.c:
1129         * tests/sched/runtestcases:
1130         * tests/sched/runxml.c:
1131         * tests/sched/sched-stress.c:
1132         * tests/sched/sort.c:
1133         * tests/sched/testcases:
1134         * tests/sched/testcases1.tc:
1135         * tests/seeking/.cvsignore:
1136         * tests/seeking/Makefile.am:
1137         * tests/seeking/seeking1.c:
1138         * tests/threadstate/.cvsignore:
1139         * tests/threadstate/Makefile.am:
1140         * tests/threadstate/test1.c:
1141         * tests/threadstate/test2.c:
1142         * tests/threadstate/threadstate1.c:
1143         * tests/threadstate/threadstate2.c:
1144         * tests/threadstate/threadstate3.c:
1145         * tests/threadstate/threadstate4.c:
1146         * tests/threadstate/threadstate5.c:
1147           remove obsolete tests
1148         * configure.ac:
1149         * tests/bench-complexity.scm:
1150         * tests/bench-mass_elements.scm:
1151         * tests/complexity.c:
1152         * tests/complexity.gnuplot:
1153         * tests/instantiate/.cvsignore:
1154         * tests/instantiate/Makefile.am:
1155         * tests/instantiate/caps.c:
1156         * tests/mass_elements.c:
1157         * tests/network-clock-utils.scm:
1158         * tests/network-clock.scm:
1159         * tests/plot-data:
1160         First pass at cleaning up tests/ dir before moving the rest
1161         Combined with CVS surgery
1162
1163 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1164
1165         * po/POTFILES.in:
1166           queue has moved, update
1167
1168 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1169
1170         * docs/gst/gstreamer-sections.txt:
1171           remove double entries from the docs
1172         * gst/gst_private.h:
1173         * gst/gstinfo.c: (_gst_debug_init):
1174           remove the THREAD debug category
1175         * gst/Makefile.am:
1176         * gst/gstqueue.c:
1177         * gst/gstqueue.h:
1178         * docs/gst/gstreamer.types:
1179         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1180         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1181           completely move queue and fix up debugging categories
1182
1183 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1184
1185         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1186           make initialization portable, using LL is not
1187
1188 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1189
1190         * win32/common/gstconfig.h:
1191           add large padding
1192
1193 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1194
1195         * win32/common/libgstreamer.def:
1196           rename symbols; sort base section
1197
1198 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1199
1200         * gst/gstclock.c: (do_linear_regression):
1201           remove crack non-portable handrolled DEBUG macro
1202
1203 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1204
1205         * docs/random/release:
1206           update notes
1207         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1208         (gst_object_flags_get_type), (register_gst_bin_flags),
1209         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1210         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1211         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1212         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1213         (gst_caps_flags_get_type), (register_gst_clock_return),
1214         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1215         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1216         (gst_clock_flags_get_type), (register_gst_state),
1217         (gst_state_get_type), (register_gst_state_change_return),
1218         (gst_state_change_return_get_type), (register_gst_state_change),
1219         (gst_state_change_get_type), (register_gst_element_flags),
1220         (gst_element_flags_get_type), (register_gst_core_error),
1221         (gst_core_error_get_type), (register_gst_library_error),
1222         (gst_library_error_get_type), (register_gst_resource_error),
1223         (gst_resource_error_get_type), (register_gst_stream_error),
1224         (gst_stream_error_get_type), (register_gst_event_type_flags),
1225         (gst_event_type_flags_get_type), (register_gst_event_type),
1226         (gst_event_type_get_type), (register_gst_seek_type),
1227         (gst_seek_type_get_type), (register_gst_seek_flags),
1228         (gst_seek_flags_get_type), (register_gst_format),
1229         (gst_format_get_type), (register_gst_index_certainty),
1230         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1231         (gst_index_entry_type_get_type),
1232         (register_gst_index_lookup_method),
1233         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1234         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1235         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1236         (gst_index_flags_get_type), (register_gst_debug_level),
1237         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1238         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1239         (gst_iterator_result_get_type), (register_gst_iterator_item),
1240         (gst_iterator_item_get_type), (register_gst_message_type),
1241         (gst_message_type_get_type), (register_gst_mini_object_flags),
1242         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1243         (gst_pad_link_return_get_type), (register_gst_flow_return),
1244         (gst_flow_return_get_type), (register_gst_activate_mode),
1245         (gst_activate_mode_get_type), (register_gst_pad_direction),
1246         (gst_pad_direction_get_type), (register_gst_pad_flags),
1247         (gst_pad_flags_get_type), (register_gst_pad_presence),
1248         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1249         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1250         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1251         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1252         (gst_plugin_flags_get_type), (register_gst_rank),
1253         (gst_rank_get_type), (register_gst_query_type),
1254         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1255         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1256         (gst_tag_flag_get_type), (register_gst_task_state),
1257         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1258         (gst_alloc_trace_flags_get_type),
1259         (register_gst_type_find_probability),
1260         (gst_type_find_probability_get_type), (register_gst_uri_type),
1261         (gst_uri_type_get_type), (register_gst_parse_error),
1262         (gst_parse_error_get_type):
1263         * win32/common/gstenumtypes.h:
1264         * win32/common/gstversion.h:
1265           update visual studio generated files
1266
1267 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1268
1269         * win32/vs6/libgstbase.dsp:
1270         * win32/vs6/libgstelements.dsp:
1271           update project files for new locations
1272
1273 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1274
1275         * Makefile.am:
1276           remove some files
1277         * README:
1278           reinstate and update
1279         * DEVEL:
1280         * REQUIREMENTS:
1281           removed
1282         * LICENSE:
1283         * docs/random/LICENSE:
1284           moved to random
1285
1286 2005-11-30  Edward Hervey  <edward@fluendo.com>
1287
1288         * gst/gsttypefind.c: (gst_type_find_register):
1289         * gst/gsttypefind.h:
1290         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1291         (gst_type_find_factory_dispose):
1292         * gst/gsttypefindfactory.h:
1293         Fix memory leak in GstTypeFindFactory.
1294
1295 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1296
1297         * gst/gst.c:
1298         * plugins/elements/Makefile.am:
1299         * plugins/elements/gstelements.c:
1300         * plugins/elements/gstqueue.c:
1301           move queue from core to the elements plugin
1302
1303 2005-11-29  Andy Wingo  <wingo@pobox.com>
1304
1305         * libs/gst/base/gstbasetransform.h: 
1306         * libs/gst/base/gstbasesrc.h: 
1307         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1308
1309         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1310         of pointers by which to pad very extensible base classes (like the
1311         ones in libs/gst/base).
1312
1313 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1314
1315         * docs/gst/gstreamer-docs.sgml:
1316         * docs/gst/gstreamer-sections.txt:
1317         * docs/libs/gstreamer-libs-docs.sgml:
1318         * docs/libs/gstreamer-libs-sections.txt:
1319           moving documentation from core to lib
1320
1321 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1322
1323         * check/Makefile.am:
1324         * configure.ac:
1325         * docs/gst/Makefile.am:
1326         * gst/Makefile.am:
1327         * gst/base/.cvsignore:
1328         * gst/base/Makefile.am:
1329         * gst/base/README:
1330         * gst/base/gstadapter.c:
1331         * gst/base/gstadapter.h:
1332         * gst/base/gstbasesink.c:
1333         * gst/base/gstbasesink.h:
1334         * gst/base/gstbasesrc.c:
1335         * gst/base/gstbasesrc.h:
1336         * gst/base/gstbasetransform.c:
1337         * gst/base/gstbasetransform.h:
1338         * gst/base/gstcollectpads.c:
1339         * gst/base/gstcollectpads.h:
1340         * gst/base/gstpushsrc.c:
1341         * gst/base/gstpushsrc.h:
1342         * gst/base/gsttypefindhelper.c:
1343         * gst/base/gsttypefindhelper.h:
1344         * gst/check/Makefile.am:
1345         * gst/check/gstcheck.c:
1346         * gst/check/gstcheck.h:
1347         * gst/net/Makefile.am:
1348         * gst/net/gstnet.h:
1349         * gst/net/gstnetclientclock.c:
1350         * gst/net/gstnetclientclock.h:
1351         * gst/net/gstnettimepacket.c:
1352         * gst/net/gstnettimepacket.h:
1353         * gst/net/gstnettimeprovider.c:
1354         * gst/net/gstnettimeprovider.h:
1355         * libs/gst/Makefile.am:
1356         * libs/gst/base/Makefile.am:
1357         * libs/gst/base/gstbasetransform.c:
1358         * libs/gst/check/Makefile.am:
1359         * plugins/elements/Makefile.am:
1360         * po/POTFILES.in:
1361           CVS surgery + support to move base, check, and net out of gst
1362           and into libs/gst
1363
1364 2005-11-29  Andy Wingo  <wingo@pobox.com>
1365
1366         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1367
1368         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1369         padding.
1370
1371         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1372
1373         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1374
1375         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1376
1377         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1378         padding; reduces object size by about 30%. We don't expect
1379         anything else to go into gstobject.
1380
1381         * gst/gstminiobject.h (struct _GstMiniObject)
1382         (struct _GstMiniObjectClass): Only one pointer of padding; the
1383         payload is only a pointer and two ints anyway. For the class there
1384         are only two methods as well.
1385         
1386         * gst/gstelement.h (struct _GstElementClass): Removed
1387         the state_changed signal callback, it is not used.
1388
1389 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1390
1391         * docs/gst/gstreamer.types:
1392           fix includes, though they are a little dinky
1393
1394 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1395
1396         * check/Makefile.am:
1397           look in the right place for elements, a lot more chance of
1398           success
1399         * gst/Makefile.am:
1400           remove indexers and elements subdirs
1401         * plugins/Makefile.am:
1402           make indexers conditional
1403
1404 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1405
1406         * Makefile.am:
1407         * configure.ac:
1408         * plugins/elements/Makefile.am:
1409         * plugins/elements/gstcapsfilter.c:
1410         * plugins/elements/gstfilesink.c:
1411         * plugins/elements/gstfilesrc.c:
1412         * plugins/elements/gstidentity.c:
1413         * plugins/indexers/Makefile.am:
1414           do CVS surgery and related build fixery to move elements
1415           and indexers in a new gstreamer/plugins directory, out of the
1416           gst/ directory
1417
1418 2005-11-29  Andy Wingo  <wingo@pobox.com>
1419
1420         * check/Makefile.am:
1421         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1422         * pkgconfig/gstreamer-net.pc.in:
1423         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1424         #322257.
1425
1426 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1427
1428         * tools/Makefile.am:
1429         * tools/gst-complete.1.in:
1430         * tools/gst-complete.c:
1431         * tools/gst-compprep.1.in:
1432         * tools/gst-compprep.c:
1433           removing -compprep and -complete
1434
1435 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1436
1437         * gst/gstevent.c: (gst_event_new_new_segment),
1438         (gst_event_parse_new_segment):
1439         * gst/gstevent.h:
1440           fix #320529 - clean up new_segment API and structure.
1441           Let's hope everyone was using the methods, and not the structure.
1442
1443 2005-11-29  Edward Hervey  <edward@fluendo.com>
1444
1445         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1446         (gst_base_sink_event), (gst_base_sink_do_sync),
1447         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1448         Properly handle non GST_FORMAT_TIME segment
1449         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1450         Properly handle non GST_FORMAT_TIME segment
1451         * gst/gstsegment.c:
1452         This function is valid if the accumulator is 0 and the format
1453         is different from the requested format.
1454         
1455 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1456
1457         * docs/gst/gstreamer-sections.txt:
1458         Add gst_query_new_seeking and gst_query_parse_seeking to the
1459         docs.
1460
1461 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1462
1463         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1464           Treat a pad alloc with new caps the same as if we were not
1465           negotiated, in order to allow a changing upstream output
1466           to produce a new format of data.
1467
1468 2005-11-29  Edward Hervey  <edward@fluendo.com>
1469
1470         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1471         (gst_base_transform_event), (gst_base_transform_eventfunc):
1472         The event virtual method is now properly implemented, with a default
1473         handler
1474         Sub classes should call the parent_class event method. They should
1475         return FALSE if they had a problem handling the given event, or don't
1476         want GstBaseTransform to send that even downstream
1477         * gst/elements/gstidentity.c: (gst_identity_class_init),
1478         (gst_identity_init), (gst_identity_event),
1479         (gst_identity_transform_ip), (gst_identity_set_property),
1480         (gst_identity_get_property):
1481         * gst/elements/gstidentity.h:
1482         Added the single-segment boolean property.
1483         If set to TRUE, it will output a single segment of data, starting from
1484         0, will eat up all incoming newsegment, and modify the timestamp of the
1485         buffers accordingly
1486
1487 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1488
1489         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1490           Don't ref NULL target pad (#322751). Improve docs.
1491
1492 2005-11-29  Michael Smith  <msmith@fluendo.com>
1493
1494         * gst/gstregistryxml.c: (load_plugin):
1495           Don't crash if we failed to load a feature from a plugin. 
1496
1497 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1498
1499         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1500         (GST_START_TEST):
1501           use more check API and less GLib API
1502
1503 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1504
1505         * Makefile.am:
1506           don't run checks if we don't have check
1507         * common/check.mak:
1508           remove the registry when running make torture
1509         * docs/gst/gstreamer-sections.txt:
1510           remove second multiply
1511         * gst/gstqueue.c: (gst_queue_loop):
1512           fix a compile warning when disabling debug
1513
1514 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1515
1516         * gst/gstinfo.h:
1517         Hey! Let's print the pad name if the pointer != NULL instead
1518         of when it == NULL :-)
1519
1520 2005-11-28  Wim Taymans  <wim@fluendo.com>
1521
1522         * check/gst/gstutils.c: (GST_START_TEST):
1523         Updated check, add some scaling accuracy checking code.
1524
1525         * gst/gstutils.c: (gst_util_div128_64),
1526         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1527         (gst_util_uint64_scale_int):
1528         Fix 6 times faster division code. Optimize for common 
1529         1/1 and less common X/1 cases.
1530
1531 2005-11-28  Wim Taymans  <wim@fluendo.com>
1532
1533         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1534         More checks.
1535
1536         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1537         (do_linear_regression), (gst_clock_add_observation):
1538         Cleanups.
1539         Release lock when the clock cannot be slaved.
1540         Catch the case where the regression returned an invalid denominator.
1541
1542         * gst/gstutils.c: (gst_util_div128_64_iterate),
1543         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1544         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1545         Add protentially more performant non-iterative 128/64 divide function
1546         that unfortunatly does not work yet.
1547         Shortcut the trivial 0/X = 0 case.
1548         Remove the warnings on overflow.
1549
1550 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1551
1552         * gst/gstplugin.c: (gst_plugin_register_func):
1553           everything causing a plugin not to load should be at least a WARNING
1554
1555 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1556
1557         * docs/random/ensonic/dparams.txt:
1558           some TODOs for the next dev cycle
1559         * libs/gst/controller/gstcontroller.c:
1560         (gst_controlled_property_set_interpolation_mode),
1561         (gst_controlled_property_new):
1562         * libs/gst/controller/gstcontroller.h:
1563           use base type to assign acccessor functions
1564
1565 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1566
1567         * check/Makefile.am:
1568         Oops, that should have been top_srcdir
1569
1570 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1571
1572         * check/Makefile.am:
1573         * check/elements/fdsrc.c: (GST_START_TEST):
1574         Use a cmdline define to specify the location of a file to use for
1575         testing, to avoid breaking distcheck.
1576
1577 2005-11-28  Andy Wingo  <wingo@pobox.com>
1578
1579         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1580
1581 2005-11-28  Edward Hervey  <edward@fluendo.com>
1582
1583         * tools/gst-launch.c: (main):
1584         Clarify the output strings, makes it easier to translate.
1585         Fixes #322626
1586
1587 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1588
1589         * gst/Makefile.am:
1590           don't try and build net if we don't even have <sys/socket.h>
1591
1592 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1593
1594         * check/Makefile.am:
1595         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1596         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1597           Add tests for fdsrc seekability
1598
1599         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1600         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1601         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1602         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1603         * gst/elements/gstfdsrc.h:
1604           fdsrc should not be a 'live' source.
1605           Implement seeking on seekable fd's.
1606
1607         * gst/gstquery.c: (gst_query_new_seeking),
1608         (gst_query_parse_seeking):
1609         * gst/gstquery.h:
1610           Implement SEEKING query functions: 
1611             *_new_seeking and *_parse_seeking
1612
1613 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1614
1615         * gst/gstelement.c: (gst_element_dispose):
1616           don't loop forever
1617
1618         * gst/gstiterator.c:
1619         * gst/gststructure.c:
1620           doc fixes
1621
1622         * libs/gst/controller/gstcontroller.c:
1623         (gst_controlled_property_set_interpolation_mode):
1624         * libs/gst/controller/gstcontroller.h:
1625         * libs/gst/controller/gstinterpolation.c:
1626         (interpolate_none_get_enum_value_array):
1627           support controlling enums
1628
1629 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1630
1631         * gst/gstvalue.c:
1632           Improve documentation for gst_value_union().
1633
1634         * gst/gstvalue.h:
1635           Change return value for union, intersect and subtract functions
1636           from gint to gboolean.
1637
1638 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1639
1640         * gst/gstvalue.c: (gst_value_serialize_any_list),
1641         (gst_value_transform_any_list_string),
1642         (gst_value_deserialize_list), (gst_value_deserialize_array),
1643         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1644         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1645         (gst_value_set_fraction_range_full),
1646         (gst_value_deserialize_fraction_range),
1647         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1648         (gst_value_deserialize_boolean),
1649         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1650         (gst_value_serialize_float), (gst_value_deserialize_float),
1651         (gst_string_wrap), (gst_value_deserialize_string),
1652         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1653         (gst_value_union_int_range_int_range),
1654         (gst_value_intersect_int_range_int_range),
1655         (gst_value_intersect_double_range_double_range),
1656         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1657         (gst_value_subtract_int_range_int_range),
1658         (gst_value_subtract_double_double_range),
1659         (gst_value_subtract_double_range_double_range),
1660         (gst_value_deserialize_fraction):
1661         * gst/gstvalue.h:
1662           Use gint, gdouble and gchar in our API instead of int, double and
1663           char (and make usage in gstvalue.c more consistent).
1664
1665 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1666
1667         * check/Makefile.am:
1668         * libs/gst/controller/Makefile.am:
1669         * libs/gst/dataprotocol/Makefile.am:
1670           fix up Makefile.am and remove GST_ENABLE_NEW
1671
1672 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1673
1674         * configure.ac:
1675         * gst/Makefile.am:
1676         * gst/base/Makefile.am:
1677         * gst/check/Makefile.am:
1678         * gst/elements/Makefile.am:
1679         * gst/net/Makefile.am:
1680           update LDFLAGS use some more
1681
1682 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1683
1684         * common/m4/gst-doc.m4:
1685           Fixes #312589
1686
1687 2005-11-26  Edward Hervey  <edward@fluendo.com>
1688
1689         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1690         This shouldn't issue a g_warning since it returns NULL if it
1691         couldn't find the plugin, and all functions using this behave
1692         properly on a NULL return. Switching to a GST_WARNING.
1693
1694 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1695
1696         * gst/gstbin.c: (gst_bin_handle_message_func):
1697         Don't leak clock messages.
1698
1699 2005-11-25  Wim Taymans  <wim@fluendo.com>
1700
1701         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1702         (gst_util_uint64_scale_int):
1703         Optimisations, remove unneeded vars.
1704
1705 2005-11-25  Wim Taymans  <wim@fluendo.com>
1706
1707         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1708         Added more checks for the high precision uint64 cases.
1709
1710         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1711         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1712         Implement high precision (guint64 * guint64) / guint64.
1713
1714 2005-11-24  Wim Taymans  <wim@fluendo.com>
1715
1716         * gst/base/gstbasesrc.c: (gst_base_src_query):
1717         Fix wrong percentage query.
1718
1719         * gst/gstutils.c: (gst_util_uint64_scale),
1720         (gst_util_uint64_scale_int):
1721         Add some more common cases that can be handled 
1722         efficiently to _scale.
1723
1724 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1725
1726         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1727         (gst_mini_object_suite):
1728           don't use check calls from threads; check probably isn't
1729           threadsafe and using a lock to make it threadsafe would
1730           defeat the purpose of this check
1731         * gst/check/gstcheck.c:
1732         * gst/check/gstcheck.h:
1733           use GST_DEBUG some more
1734
1735 2005-11-24  Wim Taymans  <wim@fluendo.com>
1736
1737         * gst/gstutils.c: (gst_util_uint64_scale),
1738         (gst_util_uint64_scale_int):
1739         Chain trivial case to _scale_int.
1740
1741 2005-11-24  Wim Taymans  <wim@fluendo.com>
1742
1743         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1744         Added test for scaling.
1745
1746         * gst/gstclock.h:
1747         Small doc fix.
1748
1749         * gst/gstutils.c: (gst_util_uint64_scale_int):
1750         Implemented high precision scaling code.
1751
1752 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1753
1754         * gst/gstinfo.h:
1755           do not crash on pad==NULL
1756
1757 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1758
1759         Patch by: Stefan Kost
1760
1761         * common/gtk-doc.mak:
1762         * docs/gst/Makefile.am:
1763         * docs/libs/Makefile.am:
1764           Fix distcheck issues for the libraries docs build
1765           Closes #319599.
1766
1767 2005-11-24  Michael Smith <msmith@fluendo.com>
1768
1769         * docs/manual/basics-helloworld.xml:
1770           Fix bug #315027: memory leak in example code in docs.
1771
1772 2005-11-24  Michael Smith <msmith@fluendo.com>
1773
1774         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1775           Unlock the PREROLL_LOCK in a failure case.
1776
1777 2005-11-24  Wim Taymans  <wim@fluendo.com>
1778
1779         * docs/gst/gstreamer-sections.txt:
1780         * gst/base/gstadapter.h:
1781         * gst/base/gstbasesink.h:
1782         * gst/base/gstbasesrc.h:
1783         * gst/base/gstbasetransform.h:
1784         * gst/base/gstpushsrc.h:
1785         * gst/elements/gstfakesink.h:
1786         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1787         * gst/elements/gstfakesrc.h:
1788         * gst/elements/gstfilesink.h:
1789         * gst/elements/gstfilesrc.h:
1790         * gst/gst.c:
1791         * gst/gstbin.c:
1792         * gst/gstbuffer.c: (_gst_buffer_copy):
1793         * gst/gstbus.h:
1794         * gst/gstcaps.c:
1795         * gst/gstchildproxy.c:
1796         * gst/gstclock.c:
1797         * gst/gstelement.c:
1798         * gst/gstelementfactory.c:
1799         * gst/gstelementfactory.h:
1800         * gst/gstevent.c:
1801         * gst/gstghostpad.h:
1802         * gst/gstindex.h:
1803         * gst/gstinterface.h:
1804         * gst/gstminiobject.c:
1805         * gst/gstminiobject.h:
1806         * gst/gstpad.c:
1807         * gst/gstpad.h:
1808         * gst/gstpadtemplate.h:
1809         * gst/gstpipeline.h:
1810         * gst/gstpluginfeature.h:
1811         * gst/gstquery.h:
1812         * gst/gstqueue.h:
1813         * gst/gsttaglist.c:
1814         * gst/gsttaglist.h:
1815         * gst/gsttagsetter.c:
1816         * gst/gsttagsetter.h:
1817         * gst/gsttrace.c:
1818         * gst/gsttrace.h:
1819         * gst/gsttypefind.h:
1820         * gst/gsturi.h:
1821         * gst/gstvalue.c:
1822         * gst/net/gstnetclientclock.c:
1823         * gst/net/gstnetclientclock.h:
1824         * gst/net/gstnettimepacket.c:
1825         * gst/net/gstnettimeprovider.c:
1826         * gst/net/gstnettimeprovider.h:
1827         Doc fixes.
1828
1829 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1830
1831         * configure.ac: back to HEAD
1832
1833 === release 0.9.6 ===
1834
1835 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1836
1837         * configure.ac:
1838           releasing 0.9.6, "Always On Time"
1839
1840 2005-11-23  Wim Taymans  <wim@fluendo.com>
1841
1842         * docs/gst/gstreamer-sections.txt:
1843         * gst/glib-compat.c:
1844         * gst/gsttagsetter.c:
1845         * gst/gstvalue.c:
1846         * gst/net/gstnetclientclock.c:
1847         * gst/net/gstnettimepacket.h:
1848         Doc updates.
1849
1850 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1851
1852         * docs/faq/using.xml:
1853         * docs/libs/tmpl/gstcontrol.sgml:
1854         * docs/manual/advanced-dparams.xml:
1855         * docs/manual/appendix-checklist.xml:
1856         * docs/manual/basics-elements.xml:
1857         * docs/pwg/other-source.xml:
1858         * docs/random/moving-plugins:
1859         * gst/gstpad.c:
1860         * tools/gst-launch.1.in:
1861           remove mentions of sinesrc
1862
1863 2005-11-23  Michael Smith <msmith@fluendo.com>
1864
1865         * docs/gst/gstreamer-sections.txt:
1866           Update for new API and API changes.
1867         * gst/gstobject.h:
1868           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1869         * gst/gstvalue.c:
1870           Documentation typo fix.
1871         * gst/net/gstnettimepacket.c:
1872           Documentation fixes for arguments.
1873
1874 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1875
1876         * gst/gststructure.c: (gst_structure_get_fraction),
1877         (gst_structure_parse_value),
1878         (gst_structure_fixate_field_nearest_fraction):
1879         * gst/gststructure.h:
1880         * gst/gstutils.c: (gst_util_uint64_scale_int):
1881         * gst/gstutils.h:
1882         * scripts/update-funcnames:
1883         API Changes. 
1884         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1885         Make gst_structure_fixate_field_nearest_fraction take a numerator
1886         and denominator argument instead of a GValue
1887         add gst_structure_get_fraction helper function.
1888
1889 2005-11-23  Wim Taymans  <wim@fluendo.com>
1890
1891         * docs/design/part-TODO.txt:
1892         Update TODO.
1893
1894         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1895         * gst/net/gstnetclientclock.h:
1896         Use parent fields for timeout and window_size.
1897
1898 2005-11-23  Andy Wingo  <wingo@pobox.com>
1899
1900         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1901         rate_num/rate_denom change.
1902
1903         * gst/net/gstnetclientclock.c
1904         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1905         OBJECT_LOCK. Don't call add_observation with the lock.
1906
1907         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1908         fraction.
1909         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1910         rate fraction.
1911         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1912         deal with rate as a fraction whose numerator and denominator are
1913         GstClockTime values.
1914         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1915         master; the other fields are protected by the SLAVE_LOCK.
1916         (do_linear_regression): Note that this must be called with the
1917         SLAVE_LOCK.
1918         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1919         OBJECT_LOCK. Call set_calibration instead of touching the
1920         variables directly.
1921         (gst_clock_set_property, gst_clock_get_property): Protect
1922         master/slave parameters with the SLAVE_LOCK.
1923
1924         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1925         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1926         note that all of the instance variables that add_observation and
1927         the set_master functions use are protected by that lock and not
1928         the OBJECT_LOCK.
1929         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1930
1931         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1932         the caller to take the object lock.
1933
1934 2005-11-23  Wim Taymans  <wim@fluendo.com>
1935
1936         * gst/gsterror.c: (_gst_core_errors_init):
1937         * gst/gsterror.h:
1938         Add error for clock stuff.
1939
1940         * gst/gstpipeline.c: (gst_pipeline_change_state),
1941         (gst_pipeline_set_clock):
1942         Post clock error when clock cannot be used in a pipeline.
1943
1944 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1945
1946         * docs/gst/gstreamer-sections.txt:
1947           make two symbols from gstinfo private for the docs
1948         * gst/base/gstcollectpads.h:
1949         * gst/gstutils.c:
1950           fix doc typos, update docs
1951
1952 2005-11-22  Wim Taymans  <wim@fluendo.com>
1953
1954         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1955         (gst_base_sink_wait), (gst_base_sink_do_sync),
1956         (gst_base_sink_handle_event):
1957         * gst/base/gstbasesink.h:
1958         No need to store the clock, the parent element class already
1959         has it.
1960
1961         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1962         Updates for clock_set returning a gboolean
1963
1964         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1965         (gst_clock_id_wait_async), (gst_clock_class_init),
1966         (gst_clock_init), (gst_clock_finalize),
1967         (gst_clock_get_internal_time), (gst_clock_get_time),
1968         (gst_clock_slave_callback), (gst_clock_set_master),
1969         (gst_clock_get_master), (do_linear_regression),
1970         (gst_clock_add_observation), (gst_clock_set_property),
1971         (gst_clock_get_property):
1972         * gst/gstclock.h:
1973         Implement master/slave. When setting a clock as a slave, a
1974         periodic timeout is scheduled to sample master and slave times.
1975         Then the slave clock is recalibrated to match offset and rate
1976         of the master clock.
1977         Update logging a bit.
1978         Add flag so that a clock can state that is cannot be slaved to
1979         another clock.
1980
1981         * gst/gstelement.c: (gst_element_set_clock):
1982         * gst/gstelement.h:
1983         The set clock returns a gboolean for when an element cannot
1984         deal with the selected clock in the pipeline. 
1985
1986         * gst/gstpipeline.c: (gst_pipeline_change_state),
1987         (gst_pipeline_set_clock):
1988         * gst/gstpipeline.h:
1989         Handle the case where the selected clock cannot be set on
1990         the pipeline.
1991
1992         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1993         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1994         (gst_net_client_clock_set_property),
1995         (gst_net_client_clock_get_property),
1996         (gst_net_client_clock_observe_times):
1997         * gst/net/gstnetclientclock.h:
1998         Use regression code in GstClock parent, remove duplicated
1999         functionality.
2000
2001 2005-11-22  Michael Smith <msmith@fluendo.com>
2002
2003         * gst/gstutils.c: (gst_util_clock_time_scale):
2004         * gst/gstutils.h:
2005         * docs/gst/gstreamer-sections.txt:
2006           Rename method to have extra underscore.
2007
2008 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2009
2010         * gst/elements/Makefile.am:
2011         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2012         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2013         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2014         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2015         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2016         * gst/elements/gstfakesrc.h:
2017         * gst/gstqueue.c: (queue_leaky_get_type):
2018           correctly fix GEnumValues so that nick is the short lowercase
2019           dashed tag
2020         * tools/gst-inspect.c: (print_element_properties_info):
2021           also show the nick, since it's useful to use from parse_launch
2022           syntax
2023           Fixes #322139
2024
2025 2005-11-22  Michael Smith <msmith@fluendo.com>
2026
2027         * gst/gstutils.c: (gst_util_clocktime_scale):
2028         * gst/gstutils.h:
2029         * docs/gst/gstreamer-sections.txt:
2030           Add util method for scaling a clocktime by a fraction. Useful 
2031           implementation is left as an exercise for the reader.
2032
2033 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2034
2035         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2036         If needed, allocate storage in the destination value during
2037         collection.
2038
2039 2005-11-22  Edward Hervey  <edward@fluendo.com>
2040
2041         * docs/gst/gstreamer-sections.txt:
2042         * gst/Makefile.am:
2043         * gst/gst.h:
2044         * gst/gsturitype.c:
2045         * gst/gsturitype.h:
2046         * gst/gstutils.c: (gst_util_set_object_arg):
2047         * tools/gst-compprep.c: (main):
2048         * tools/gst-inspect.c: (print_element_properties_info):
2049         Removed GstURI, closes bug #321061
2050
2051 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2052
2053         * check/gst/gststructure.c: (GST_START_TEST):
2054         * gst/gststructure.c: (gst_structure_parse_value):
2055           Oops, broke automatic string type parsing.
2056           Add a test to catch it in future.
2057
2058 2005-11-22  Andy Wingo  <wingo@pobox.com>
2059
2060         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2061         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2062         Actually rename the function implementations. Grr.
2063
2064 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2065
2066         * check/gst/capslist.h:
2067           Comment test cases
2068         * check/gst/gststructure.c: (GST_START_TEST),
2069         (gst_structure_suite):
2070           Test automatic value type detection in gst_structure_from_string.
2071         * gst/gststructure.c: (gst_structure_parse_value):
2072           Add fraction as a type we try and guess automatically in
2073           caps/structure strings.
2074
2075 2005-11-22  Andy Wingo  <wingo@pobox.com>
2076
2077         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2078
2079         * gst/gsttagsetter.h:
2080         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2081         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2082         (gst_tag_setter_add_tag_valist)
2083         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2084         _add_values, _add_valist, and _add_valist_values. Since this is an
2085         interface the function suffixes should be more explicit so
2086         language binding don't end up with element.add_valist ->
2087         gst_tag_setter_add_valist, for example. Fixes #322069.
2088
2089 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2090
2091         * check/gst/gstcaps.c: (GST_START_TEST):
2092           Extend caps string tests to check that a caps to string
2093           conversion is reversible and produces the same caps.
2094
2095         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2096           Output "fraction" as the generic type fraction range, so caps
2097           serialisation and deserialisation works.
2098         * check/gst/capslist.h:
2099         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2100           Support 'MIN' and 'MAX' for deserialising fractions.
2101
2102 2005-11-22  Andy Wingo  <wingo@pobox.com>
2103
2104         * gst/gstevent.h (gst_event_new_new_segment)
2105         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2106         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2107         Renamed from *_newsegment, *_buffersize, *_notarget.
2108
2109         * scripts/update-funcnames: New script, performs the changes
2110         listed above.
2111
2112 2005-11-22  Wim Taymans  <wim@fluendo.com>
2113
2114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2115         Make sure the GstFlowReturn is returned.
2116
2117         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2118         (gst_bus_add_signal_watch):
2119         * gst/gstbus.h:
2120         add gst_bus_add_signal_watch_full.
2121
2122         * gst/gstplugin.c: (gst_plugin_load_file):
2123         Small style cleanup.
2124
2125 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2126
2127         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2128           Block the fakesrc srcpad when we send an event, to avoid
2129           contention on the stream_lock causing random test failures.
2130
2131 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2132
2133         * check/gst/gstvalue.c: (GST_START_TEST):
2134         * gst/gstvalue.c: (gst_value_fraction_subtract):
2135           Fix subtraction.
2136
2137 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2138
2139         * gst/gst.h:
2140           include "gstchildproxy.h"
2141         * gst/gstchildproxy.h:
2142         * libs/gst/controller/gstcontroller.h:
2143           use G_GNUC_NULL_TERMINATED
2144
2145 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2146
2147         * check/gst/capslist.h:
2148         * check/gst/gstcaps.c: (GST_START_TEST):
2149         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2150         * gst/gststructure.c: (gst_structure_parse_range),
2151         (gst_structure_fixate_field_nearest_fraction):
2152         * gst/gststructure.h:
2153         * gst/gstvalue.c: (gst_value_init_fraction_range),
2154         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2155         (gst_value_collect_fraction_range),
2156         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2157         (gst_value_set_fraction_range_full),
2158         (gst_value_get_fraction_range_min),
2159         (gst_value_get_fraction_range_max),
2160         (gst_value_serialize_fraction_range),
2161         (gst_value_transform_fraction_range_string),
2162         (gst_value_compare_fraction_range),
2163         (gst_value_deserialize_fraction_range),
2164         (gst_value_intersect_fraction_fraction_range),
2165         (gst_value_intersect_fraction_range_fraction_range),
2166         (gst_value_subtract_fraction_fraction_range),
2167         (gst_value_subtract_fraction_range_fraction),
2168         (gst_value_subtract_fraction_range_fraction_range),
2169         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2170         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2171         (gst_value_transform_string_fraction), (_gst_value_initialize):
2172         * gst/gstvalue.h:
2173           Implement fraction ranges and extend GstFraction to support
2174           arithmetic subtraction, as well as deserialization from integer
2175           strings such as "100"
2176           Add a testsuite as for int and double range set operations
2177
2178 2005-11-21  Andy Wingo  <wingo@pobox.com>
2179
2180         * gst/gsttaglist.h: 
2181         * gst/gstcaps.h: 
2182         * gst/gststructure.h: Add glib-compat.h.
2183
2184 2005-11-21  Wim Taymans  <wim@fluendo.com>
2185
2186         * gst/gstbin.c: (gst_bin_change_state_func):
2187         Fix for #321595
2188
2189 2005-11-21  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/gstsegment.h:
2192         And add a nice define too.
2193
2194 2005-11-21  Wim Taymans  <wim@fluendo.com>
2195
2196         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2197         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2198         (gst_segment_set_duration), (gst_segment_set_last_stop),
2199         (gst_segment_set_seek), (gst_segment_set_newsegment),
2200         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2201         (gst_segment_clip):
2202         * gst/gstsegment.h:
2203         Make binding friendly.
2204
2205 2005-11-21  Andy Wingo  <wingo@pobox.com>
2206
2207         * gst/gsttagsetter.h: 
2208         * gst/gsttaglist.h: 
2209         * gst/gststructure.h: 
2210         * gst/gstcaps.h: 
2211         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2212         #319940.
2213
2214         * gst/gsterror.c (_gst_core_errors_init):
2215         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2216         category.
2217
2218         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2219         (noinst_HEADERS): noinst the -private.
2220
2221 2005-11-21  Michael Smith <msmith@fluendo.com>
2222
2223         * gst/gstplugin.h:
2224         * gst/gstregistry.h:
2225           Remove unimplemented declarations for which we can see no sensible
2226           use.
2227
2228 2005-11-21  Andy Wingo  <wingo@pobox.com>
2229
2230         * gst/gst.h: Include glib-compat.h.
2231
2232         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2233
2234         * gst/glib-compat.c: Include the public and the private header.
2235
2236         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2237
2238         * gst/gstvalue.c: 
2239         * gst/gstpad.c: 
2240         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2241
2242         * check/gst/gstevent.c (create_custom_events): Check that
2243         FLUSH_STOP is serialized.
2244
2245         * check/elements/identity.c (event_func): 
2246         * check/elements/fakesrc.c (event_func): No stream lock, the core
2247         takes it.
2248
2249         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2250         stream lock taking, yay.
2251
2252         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2253         ensure that core takes the stream lock.
2254
2255         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2256         lock name change.
2257
2258         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2259         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2260         it already. For the flush start we do take it though so we get the
2261         right preroll state change messages.
2262
2263         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2264         the stream lock here, the core does it for us.
2265
2266         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2267         GST_STREAM_GET_LOCK.
2268         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2269         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2270         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2271         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2272         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2273         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2274
2275         * gst/gstpad.c: Update for stream lock name change.
2276
2277         * gst/base/gstbasesink.c: Update for preroll lock name change.
2278
2279 2005-11-21  Wim Taymans  <wim@fluendo.com>
2280
2281         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2282         (gst_clock_get_master):
2283         * gst/gstclock.h:
2284         * gst/gstsystemclock.c: (gst_system_clock_init):
2285         Convert Clock flags to object flags.
2286         Added methods to manage master/slave clocks.
2287
2288 2005-11-21  Wim Taymans  <wim@fluendo.com>
2289
2290         * check/gst/gstsegment.c: (GST_START_TEST):
2291         * docs/design/part-TODO.txt:
2292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2293         (gst_base_sink_event), (gst_base_sink_do_sync),
2294         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2295         (gst_base_sink_query), (gst_base_sink_change_state):
2296         * gst/base/gstbasesink.h:
2297         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2298         (gst_base_src_default_newsegment),
2299         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2300         (gst_base_src_get_range), (gst_base_src_loop),
2301         (gst_base_src_change_state):
2302         * gst/base/gstbasesrc.h:
2303         * gst/base/gstbasetransform.c:
2304         (gst_base_transform_prepare_output_buf),
2305         (gst_base_transform_event), (gst_base_transform_change_state):
2306         * gst/base/gstbasetransform.h:
2307         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2308         (gst_collect_pads_event):
2309         * gst/base/gstcollectpads.h:
2310         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2311         (gst_fake_src_create):
2312         * gst/elements/gstfakesrc.h:
2313         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2314         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2315         (gst_segment_set_last_stop), (gst_segment_set_seek),
2316         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2317         (gst_segment_to_running_time), (gst_segment_clip):
2318         * gst/gstsegment.h:
2319         More segment updates, replace code in plugins with segment
2320         helper functions.
2321
2322 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2323
2324         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2325         Don't ignore sscanf results
2326
2327 2005-11-21  Andy Wingo  <wingo@pobox.com>
2328
2329         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2330
2331         * *.h:
2332         * *.c: Ran scripts/update-macros. Oh yes.
2333
2334         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2335         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2336         GST_GET_LOCK, etc.
2337
2338         * scripts/update-macros: New script. Run it on your files to
2339         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2340         well.
2341
2342 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2343
2344         * docs/gst/Makefile.am:
2345         * docs/gst/gstreamer-docs.sgml:
2346         * docs/gst/gstreamer-sections.txt:
2347         * docs/gst/gstreamer.types:
2348         * gst/gstinfo.h:
2349           more docs fixes, add new api to the docs
2350
2351 2005-11-21  Andy Wingo  <wingo@pobox.com>
2352
2353         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2354         state_broadcast call.
2355
2356         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2357
2358 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2359
2360         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2361         function calls for arrays.
2362
2363 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2364
2365         * docs/random/ensonic/media-device-daemon.txt:
2366           wild idea, can this be done?
2367         * docs/gst/gstreamer-sections.txt:
2368         * gst/gsterror.h:
2369         * gst/gstfilter.c:
2370         * gst/gstfilter.h:
2371         * gst/gstplugin.h:
2372         * gst/gstpluginfeature.c:
2373         * gst/gsttrace.c:
2374         * gst/gstvalue.c:
2375         * gst/gstvalue.h:
2376           doc fixes and additions
2377
2378 2005-11-21  Andy Wingo  <wingo@pobox.com>
2379
2380         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2381         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2382         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2383         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2384         private to the basesrc implementation.
2385
2386         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2387         behalf of event function if necessary. It should no longer be
2388         necessary to take the stream lock in pad's event functions. Fixes
2389         #320299.
2390
2391 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2392         * docs/gst/gstreamer-sections.txt:
2393         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2394         (gst_structure_fixate_field_nearest_double),
2395         (gst_structure_fixate_field_boolean):
2396         * gst/gststructure.h:
2397         * win32/common/libgstreamer.def:
2398         * win32/gstreamer.def:
2399
2400         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2401         (#322027)
2402
2403 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2404
2405         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2406         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2407         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2408         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2409         (gst_fdsrc_uri_handler_init):
2410         * gst/elements/gstfdsrc.h:
2411           Port fd:// URI handler from 0.8 to fdsrc
2412
2413 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2414
2415         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2416         (gst_value_serialize_fourcc):
2417         * gst/gstvalue.h:
2418           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2419           consistent with our other format defines (#320324).
2420
2421 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2422
2423         * gst/gstvalue.c: (gst_value_is_fixed):
2424           Revert previous commit. Value lists are by definition
2425           not fixed, as they are a list of possible values.
2426
2427 2005-11-21  Andy Wingo  <wingo@pobox.com>
2428
2429         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2430         during the stable series if we need it. Fixes #319178.
2431
2432         * gst/gstevent.c (gst_event_new_filler): Removed.
2433
2434         * check/gst/gstevent.c: Update comment about filler events.
2435
2436 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2437
2438         * gst/gstvalue.c: (gst_value_is_fixed):
2439           Should handle both value arrays and value lists.
2440
2441 2005-11-21  Andy Wingo  <wingo@pobox.com>
2442
2443         patch by: Alessandro Dessina <alessandro nnva org>
2444
2445         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2446         functions to access arrays. Fixes #321962.
2447
2448 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2449
2450         * docs/gst/gstreamer.types:
2451           gst_collectpads_get_type => gst_collect_pads_get_type.
2452           
2453         * gst/base/gstbasetransform.c:
2454           Remove unused SIGNAL_HANDOFF enum.
2455
2456 2005-11-21  Andy Wingo  <wingo@pobox.com>
2457
2458         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2459         the event type (upstream, downstream, serialized). Renamed
2460         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2461         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2462         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2463
2464         * gst/gstevent.c: Update for new CUSTOM event names.
2465
2466         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2467
2468         * gst/gstevent.h:
2469         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2470         bug #319392.
2471
2472 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2473
2474         * docs/gst/gstreamer-sections.txt:
2475         * win32/common/libgstbase.def:
2476         * win32/libgstbase.def:
2477         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2478         (gst_collect_pads_class_init), (gst_collect_pads_init),
2479         (gst_collect_pads_finalize), (gst_collect_pads_new),
2480         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2481         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2482         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2483         (gst_collect_pads_start), (gst_collect_pads_stop),
2484         (gst_collect_pads_peek), (gst_collect_pads_pop),
2485         (gst_collect_pads_available), (gst_collect_pads_read),
2486         (gst_collect_pads_flush), (gst_collect_pads_event),
2487         (gst_collect_pads_chain):
2488         * gst/base/gstcollectpads.h:
2489           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2490           unimplemented functions as unimplemented. Add padding to
2491           GstCollectData. (#320766, #320423)
2492
2493 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2494
2495         * gst/gstmessage.c:
2496           Improve docs for DURATION message (usage of duration parameter)
2497           (#320113)
2498
2499 2005-11-20  Wim Taymans  <wim@fluendo.com>
2500
2501         * check/Makefile.am:
2502         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2503         (main):
2504         * gst/Makefile.am:
2505         * gst/gst.h:
2506         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2507         (gst_segment_set_seek), (gst_segment_set_newsegment),
2508         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2509         (gst_segment_clip):
2510         * gst/gstsegment.h:
2511         Added segment helper structure and methods. Not fully implemented
2512         yet.
2513         Added segment check.
2514
2515 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2516
2517         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2518           Add a deserialisation test for fractions
2519         * examples/metadata/read-metadata.c: (message_loop),
2520         (make_pipeline), (main):
2521           Fix up metadata reading sample.
2522         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2523           Debug format fix
2524         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2525           Don't try and fixate empty caps
2526         * gst/gst_private.h:
2527           Wrap in G_BEGIN_DECLS/G_END_DECLS
2528         * gst/gstvalue.c: (gst_value_collect_fraction),
2529         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2530         (gst_value_transform_string_fraction),
2531         (gst_value_compare_fraction):
2532           Add some extra guards to ensure that we don't end up 
2533           with an invalid denominator of 0 in a gstfraction and
2534           that fractions always get reduced.
2535
2536 2005-11-20  Wim Taymans  <wim@fluendo.com>
2537
2538         * docs/gst/gstreamer-sections.txt:
2539         * gst/gstbuffer.h:
2540         * gst/gstelement.c:
2541         * gst/gstformat.c:
2542         * gst/gstformat.h:
2543         * gst/gstindex.h:
2544         * gst/gstquery.c:
2545         * gst/gstquery.h:
2546         * gst/gstvalue.c:
2547         Doc fixes.
2548
2549 2005-11-20  Wim Taymans  <wim@fluendo.com>
2550
2551         * docs/design/part-TODO.txt:
2552         * gst/gstcaps.h:
2553         Make a proper enum of the flag.
2554
2555 2005-11-19  Wim Taymans  <wim@fluendo.com>
2556
2557         * docs/design/part-TODO.txt:
2558         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2559         (gst_format_to_quark), (gst_format_register):
2560         * gst/gstformat.h:
2561         * gst/gstquery.c: (_gst_query_initialize),
2562         (gst_query_type_get_name), (gst_query_type_to_quark),
2563         (gst_query_type_register):
2564         * gst/gstquery.h:
2565         Add type to quark and type to string conversions.
2566
2567 2005-11-19  Andy Wingo  <wingo@pobox.com>
2568
2569         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2570         #320097.
2571
2572 2005-11-19  Wim Taymans  <wim@fluendo.com>
2573
2574         * docs/design/part-TODO.txt:
2575         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2576         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2577         (gst_bin_handle_message_func):
2578         * gst/gstbin.h:
2579         Make message handling overridable.
2580
2581 2005-11-19  Andy Wingo  <wingo@pobox.com>
2582
2583         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2584
2585         * gst/gstclock.h:
2586         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2587         be a GstClockTime.
2588         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2589         is a GstClockTime. Fixes #321710.
2590
2591         * gst/gstclock.h (GstClock): Remove offset property. Add
2592         internal_calibration and external_calibration. Fix padding. Pad
2593         also by GstClockTime so we don't run into problems.
2594
2595         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2596         (gst_clock_get_rate_offset): Remove.
2597         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2598
2599         * gst/gstutils.h:
2600         * gst/gstutils.c (g_static_rec_cond_wait)
2601         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2602
2603         * gst/gstbin.c: Remove terrible continue_state prototype.
2604
2605         * gst/gstelement.h (gst_element_continue_state): Make public.
2606
2607         * gst/gstelement.h:
2608         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2609         by continue_state. Fixes #319389.
2610
2611         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2612         Really fixes #168438. However I don't see anywhere where the
2613         filter function is called... stupid GStreamer...
2614         
2615         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2616         don't have a dispose function, so it won't get called when the
2617         object is unreffed, but oh well!
2618
2619         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2620         allows a destroy function to be set so user_data can be freed.
2621         Fixes #168438.
2622         (gst_index_set_filter): Call gst_index_set_filter_full.
2623
2624         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2625
2626         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2627         string should produce an error, given the lack of a way to
2628         represent NULL strings. Fixes #165650.
2629         
2630         * gst/gstvalue.h: 
2631         * gst/gstvalue.c (gst_value_array_append_value) 
2632         (gst_value_array_prepend_value, gst_value_array_get_size) 
2633         (gst_value_array_get_value): New API, copied from
2634         gst_value_list_*, only operates on arrays.
2635         (gst_value_list_append_value, gst_value_list_prepend_value) 
2636         (gst_value_list_concat, gst_value_list_get_size) 
2637         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2638
2639         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2640         init_list, because it works on both.
2641         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2642         (gst_value_copy_list_or_array): Renamed from copy_list.
2643         (gst_value_free_list_or_array): Renamed from free_list.
2644         (gst_value_collect_list_or_array): Renamed from collect_list.
2645         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2646         (gst_value_list_or_array_peek_pointer): Renamed from
2647         list_peek_pointer.
2648         (_gst_value_array_value_table, _gst_value_list_value_table):
2649         Update value table functions.
2650         (gst_value_compare_list_or_array): Renamed from compare_list.
2651
2652         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2653         some constness.
2654
2655         * gst/gsttaglist.c:
2656         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2657         GstTagList*. Fixes #143472.
2658
2659         * gst/gststructure.h: Clarify what the foreach/map functions can
2660         or can't do to their arguments.
2661
2662 2005-11-18  Wim Taymans  <wim@fluendo.com>
2663
2664         * gst/gstclock.c: (gst_clock_set_calibration),
2665         (gst_clock_get_calibration):
2666         Doc and API fixes.
2667         Calibration can be set with internal time equal to current
2668         internal time too.
2669
2670 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2671
2672         * gst/gsterror.c:
2673         * gst/gsterror.h:
2674           document
2675
2676 2005-11-18  Andy Wingo  <wingo@pobox.com>
2677
2678         * configure.ac: 
2679         * pkgconfig/gstreamer-net.pc.in:
2680         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2681         * pkgconfig/Makefile.am: Add net pkgconfig files.
2682
2683 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2684
2685         * gst/gstcaps.c:
2686         * gst/gstghostpad.c:
2687         * gst/gsttrace.c:
2688         * gst/gstvalue.c:
2689         * gst/gstvalue.h:
2690           docs fixes
2691
2692 2005-11-18  Andy Wingo  <wingo@pobox.com>
2693
2694         * gst/net/gstnetclientclock.c: Turn off debugging.
2695
2696         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2697         times connverge somewhat. Can't make a real test.
2698
2699         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2700         integer arithmetic. Return the minimum of the domain, which can be
2701         set as "internal" for gst_clock_set_calibration.
2702         (gst_net_client_clock_observe_times): Call _set_calibration.
2703         (gst_net_client_clock_new): Call _set_calibration instead of
2704         rate_offset.
2705
2706         * check/net/gstnetclientclock.c (test_functioning): Use the right
2707         adjustment api.
2708
2709         * gst/gstclock.h:
2710         * gst/gstclock.c (gst_clock_get_calibration) 
2711         (gst_clock_set_calibration): New functions, obsolete the ones I
2712         added yesterday. Doh. Precision issues mean we have to extrapolate
2713         from a point in the more recent past than 1970.
2714         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2715         obsolete.
2716         (gst_clock_adjust_unlocked): Use the right calibration data.
2717
2718 2005-11-18  Edward Hervey  <edward@fluendo.com>
2719
2720         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2721         Also reset the ->current_* values in READY->PAUSED
2722
2723 2005-11-18  Andy Wingo  <wingo@pobox.com>
2724
2725         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2726         Whoops, check the right fd. Also add some debugging.
2727         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2728         (do_linear_regression): Add a crapload of debugging. Subtract off
2729         the minimum values from the input series to discard unneeded bits.
2730         Use only int arithmetic. There is still double arithmetic when
2731         calculating the intercept that needs fixing. Return boolean to
2732         indicate success; FALSE would mean the domain or range is too
2733         great. Still needs fixes.
2734
2735 2005-11-18  Wim Taymans  <wim@fluendo.com>
2736
2737         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2738         For the current position in stream time, we need to subtract
2739         accumulated time.
2740         
2741         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2742         Release lock before calling the callback function of async
2743         entries.
2744
2745 2005-11-18  Andy Wingo  <wingo@pobox.com>
2746
2747         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2748         Port goes all the way to MAXUINT16.
2749
2750         * gst/net/gstnettimeprovider.c: Make the port range the same as
2751         for the kernel: 0 assigns, otherwise ports are less than
2752         MAXUINT16.
2753
2754         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2755         port change.
2756
2757         * check/net/gstnetclientclock.c (test_functioning): Add the start
2758         of another test. 
2759
2760 2005-11-18  Wim Taymans  <wim@fluendo.com>
2761
2762         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2763         (gst_bin_remove_func), (bin_bus_handler):
2764         * gst/gstbin.h:
2765         Removing a clock provider from a bin, triggers a clock lost message
2766         so that a new clock will be selected.
2767         Adding a clock to a bin triggers a clock provider message.
2768         Make sure we reselect a clock when we received a clock lost message.
2769         Keep a reference to the element that provided the clock.
2770
2771 2005-11-18  Andy Wingo  <wingo@pobox.com>
2772
2773         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2774         the clock initially so it produces values around the base time.
2775         (gst_net_client_clock_class_init): Typo fix.
2776         (gst_net_client_clock_thread): Add note on when the socket gets
2777         closed.
2778
2779 2005-11-17  Wim Taymans  <wim@fluendo.com>
2780
2781         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2782         Free remote and local time arrays.
2783
2784 2005-11-17  Wim Taymans  <wim@fluendo.com>
2785
2786         * gst/net/gstnetclientclock.c: (do_linear_regression),
2787         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2788         Fix compilation, uninitialized vars and a forgotten continue.
2789
2790 2005-11-17  Andy Wingo  <wingo@pobox.com>
2791
2792         * check/Makefile.am (check_PROGRAMS): 
2793         * check/net/gstnetclientclock.c: Add a most minimal test for the
2794         net client clock. More to come later.
2795
2796         * gst/net/gstnet.h: 
2797         * gst/net/Makefile.am: Add netclientclock.
2798
2799         * gst/net/gstnetclientclock.h:
2800         * gst/net/gstnetclientclock.c: New files, implement an untested
2801         GstClock that takes its time from a network time provider.
2802         Implements the algorithm in network-clock.scm.
2803
2804         * tests/network-clock.scm (*window-size*): Rename from
2805         *queue-length*.
2806         * tests/network-clock.scm (network-time): 
2807         * tests/network-clock-utils.scm (q-push): Update callers.
2808
2809 2005-11-17  Wim Taymans  <wim@fluendo.com>
2810
2811         * gst/gstbin.c: (gst_bin_provide_clock_func),
2812         (gst_bin_sort_iterator_new):
2813         And unref the child too..
2814
2815 2005-11-17  Wim Taymans  <wim@fluendo.com>
2816
2817         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2818         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2819         Refactor the sort iterator so it can be used while holding the
2820         LOCK too.
2821         Make clock selection select a clock closest to the source.
2822
2823 2005-11-17  Michael Smith <msmith@fluendo.com>
2824
2825         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2826         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2827         * gst/gstclock.h:
2828           Anonymous structs are a gcc (and some other compilers) extension, so
2829           don't use them. Since this is only for ABI-compatibility, and our
2830           API/ABI freeze is over in a few days, this whole thing will only
2831           last a few days, so don't bother trying to think up a meaningful
2832           name for the struct.
2833
2834 2005-11-17  Andy Wingo  <wingo@pobox.com>
2835
2836         * gst/gstclock.h (GstClock): Add rate and offset properties,
2837         preserving ABI stability. Add rate/offset accessors. Will file bug
2838         for the freeze break.
2839
2840         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2841         and offset, trying to keep precision and avoiding
2842         underflow/overflow.
2843         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2844         functions. Make gst_clock_set_time_adjust obsolete.
2845         (gst_clock_set_time_adjust): Note that this function is obsolete.
2846         Will file bug soon.
2847
2848         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2849         greppable by using GST_PADDING-1+1.
2850
2851 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2852
2853         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2854
2855         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2856           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2857
2858         * gst/gstpadtemplate.h:
2859         * gst/gstpluginfeature.h:
2860           Don't use c++ style comments in headers (#321638).
2861
2862 2005-11-16  Andy Wingo  <wingo@pobox.com>
2863
2864         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2865         buffer.
2866
2867         * check/net/gstnettimeprovider.c: Check to see that the time
2868         provider actually provides times. Works, yo!
2869
2870 2005-11-16  Wim Taymans  <wim@fluendo.com>
2871
2872         * check/Makefile.am:
2873         Enable more tests.
2874
2875         * check/elements/fakesrc.c: (GST_START_TEST):
2876         Set element to NULL before disposing it.
2877
2878 2005-11-16  Andy Wingo  <wingo@pobox.com>
2879
2880         * gst/net/Makefile.am:
2881         * gst/net/gstnet.h:
2882         * gst/net/gstnettimeprovider.c: 
2883         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2884         provider, include it from gstnet.h, and add it to the build.
2885
2886         * gst/net/gstnettimepacket.h: 
2887         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2888         sending and receiving.
2889
2890 2005-11-16  Wim Taymans  <wim@fluendo.com>
2891
2892         * check/Makefile.am:
2893         Enable valgrind check.
2894
2895         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2896         (gst_fake_src_alloc_buffer):
2897         Fix memleak.
2898
2899 2005-11-16  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2902         Call parent finalize too.
2903
2904 2005-11-16  Wim Taymans  <wim@fluendo.com>
2905
2906         * check/Makefile.am:
2907         Enable valgrind check that should work fine now.
2908
2909         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2910         * gst/gstqueue.c: (gst_queue_init):
2911         Fix memleaks in pad allocation.
2912
2913 2005-11-16  Andy Wingo  <wingo@pobox.com>
2914
2915         * gst/net/Makefile.am:
2916         * gst/net/gstnet.h: New part of core to hold network elements and
2917         objects. Put in core because it exposes API that applications want
2918         to use. The library is named libgstnet-tempname right now because
2919         of the existing libgstnet in gst-plugins-base. Solution is
2920         probably to rename the one in plugins-base; will file a bug for
2921         the freeze break.
2922
2923         * gst/net/gstnettimeprovider.c: 
2924         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2925         get_time call over the network.
2926
2927         * configure.ac: 
2928         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2929
2930         * check/Makefile.am:
2931         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2932         get additions shortly.
2933
2934 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2935
2936         * gst/gstpad.c: (gst_pad_new_from_static_template):
2937         * gst/gstpad.h:
2938           add gst_pad_new_from_static_template functions
2939         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2940         (gst_check_setup_sink_pad):
2941         * gst/elements/gsttee.c: (gst_tee_init):
2942           and use them
2943
2944 2005-11-16  Wim Taymans  <wim@fluendo.com>
2945
2946         * gst/gstpad.c: (gst_pad_pause_task):
2947         Removed warning, it's not really an error either.
2948
2949 2005-11-16  Wim Taymans  <wim@fluendo.com>
2950
2951         * gst/base/gstbasetransform.c:
2952         (gst_base_transform_prepare_output_buf),
2953         (gst_base_transform_event):
2954         Check if the caps are NULL, this can happen if the element
2955         is shutting down and the pad caps are set to NULL.
2956
2957 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * gst/elements/gsttee.c: (gst_tee_init):
2960           fix pad template leak in tee
2961
2962 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2963
2964         * gst/glib-compat.c: (g_value_dup_gst_object):
2965         * gst/glib-compat.h:
2966         * gst/gstpad.c: (gst_pad_set_property):
2967           use gst_object_ref when setting the pad template; this will
2968           trigger the pad template leaks on GLib 2.6 and the slaves
2969
2970 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2971
2972         * gst/glib-compat.c: (gst_flags_get_first_value):
2973         * gst/glib-compat.h:
2974         * gst/gstregistryxml.c:
2975           remove functions copied from GLib 2.6
2976
2977 2005-11-16  Michael Smith <msmith@fluendo.com>
2978
2979         * gst/Makefile.am:
2980           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2981           do, but only breaks with newer valgrind versions. We're not a
2982           valgrind tool, we have no link-time dependencies on libcoregrind.
2983
2984 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2985
2986         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2987           some debug changes
2988         * gst/gstmessage.h:
2989           typo fixes
2990
2991 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2992
2993         * gst/base/gstbasesrc.c: (gst_base_src_init):
2994         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2995         * gst/gstqueue.c: (gst_queue_init):
2996         * gst/gstregistryxml.c: (load_feature):
2997           Revert all these unrefs, they don't even pass make check !
2998
2999 2005-11-15  Johan Dahlin  <johan@gnome.org>
3000
3001         * gst/base/gstbasesrc.c: (gst_base_src_init):
3002         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3003         * gst/gstqueue.c: (gst_queue_init): 
3004         Free pad templates, fixes a couple of leaks.
3005
3006 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3007
3008         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3009
3010         * gst/gstpad.c: (gst_pad_get_property):
3011           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3012           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3013           (#321452)
3014
3015 2005-11-15  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/gstevent.c:
3018         Small doc update.
3019
3020 2005-11-15  Andy Wingo  <wingo@pobox.com>
3021
3022         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3023
3024         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3025         using GST_CLOCK_TIME_NONE to disable base time management.
3026         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3027         time if it was NONE before.
3028         (gst_pipeline_change_state): Only munge the base time if
3029         stream_time != GST_CLOCK_TIME_NONE.
3030
3031         * check/gst/gstpipeline.c (test_base_time): Punt around the
3032         problem of the probe not being called, because that's not the
3033         issue I'm looking at. Add a check that setting stream_time to NONE
3034         disables base time management.
3035         
3036 2005-11-15  Wim Taymans  <wim@fluendo.com>
3037
3038         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3039         segment_stop == -1 at startup.
3040
3041         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3042         (gst_base_transform_change_state):
3043         Init segment values at start.
3044
3045 2005-11-15  Wim Taymans  <wim@fluendo.com>
3046
3047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3048         0 segment values are 0 in any format.
3049
3050         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3051         * gst/base/gstbasetransform.h:
3052         Parse newsegment correctly in basetransform
3053
3054         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3055         Sync to clock using updated segment values.
3056
3057 2005-11-15  Andy Wingo  <wingo@pobox.com>
3058
3059         * check/gst/gstpipeline.c (test_base_time): Add check that the
3060         base time and stream time are reset correctly.
3061
3062 2005-11-15  Wim Taymans  <wim@fluendo.com>
3063
3064         * docs/design/part-TODO.txt:
3065         Some more TODO items.
3066
3067 2005-11-15  Andy Wingo  <wingo@pobox.com>
3068
3069         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3070         error if the user selected "no clock" as the clocking method.
3071
3072         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3073         timestamps with live capture.
3074
3075         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3076         is 0 but we are a live source, timestamp the buffers using the
3077         element's clock.
3078
3079 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3080
3081         * docs/gst/gstreamer-sections.txt:
3082         * gst/gsterror.c:
3083         * gst/gstghostpad.c:
3084         * gst/gstobject.h:
3085         * gst/gstxml.c:
3086           more section docs
3087
3088 2005-11-14  Wim Taymans  <wim@fluendo.com>
3089
3090         * common/gst.supp:
3091           add suppressions from Wim's Debian machine
3092
3093 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3094
3095         * common/gst.supp:
3096           add suppressions from Andy's AMD64 Ubuntu machine
3097
3098 2005-11-14  Andy Wingo  <wingo@pobox.com>
3099
3100         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3101         STATE_LOCK not necessary. Fixes #311489.
3102
3103         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3104         #305291.
3105
3106         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3107         this function is not implemented.
3108
3109 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3110
3111         * gst/base/gstbasetransform.c:
3112         (gst_base_transform_prepare_output_buf):
3113         Ref the source pad caps while we need them.
3114         Fixes (#321386)
3115
3116 2005-11-11  Wim Taymans  <wim@fluendo.com>
3117
3118         * docs/gst/gstreamer-sections.txt:
3119         Added some docs for GstCollectData.
3120
3121         * gst/base/gstadapter.c:
3122         Some small code example fix.
3123
3124         * gst/base/gstcollectpads.c:
3125         * gst/base/gstcollectpads.h:
3126         Document some more.
3127
3128 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3129
3130         * configure.ac: back to HEAD
3131
3132 === release 0.9.5 ===
3133
3134 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3135
3136         * configure.ac:
3137           releasing 0.9.5, "Bike Lunch Day"
3138
3139 2005-11-11  Wim Taymans  <wim@fluendo.com>
3140
3141         * gst/gstbuffer.c: (_gst_buffer_copy):
3142         Copy more flags.
3143
3144         * gst/gstcaps.c: (gst_caps_is_equal):
3145         Fix some docs.
3146         Make _is_equal fast in the trivial cases.
3147
3148         * gst/gstminiobject.c:
3149         * gst/gstminiobject.h:
3150         More docs. Spifify .h file.
3151
3152         * gst/gstutils.c:
3153         Small doc update.
3154
3155 2005-11-11  Wim Taymans  <wim@fluendo.com>
3156
3157         * gst/base/gstbasetransform.c:
3158         (gst_base_transform_prepare_output_buf),
3159         (gst_base_transform_handle_buffer):
3160         Small cleanups.
3161         If we're processing a buffer and need to allocate an output
3162         buffer, we cannot accept a format change. If we did get a 
3163         format change, we have to alloc a buffer ourselves of the 
3164         right size.
3165
3166 2005-11-11  Wim Taymans  <wim@fluendo.com>
3167
3168         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3169         While checking the flag for reentrancy in the gstcaps function
3170         is nice to detect recursive invocations, it also makes it 
3171         impossible to call getcaps from multiple threads, which must be
3172         possible. So, checking for recursive calls has to go.
3173
3174 2005-11-11  Michael Smith <msmith@fluendo.com>
3175
3176         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3177           Don't sync on buffers that fall partially outside our current
3178           segment. Prevents an assertion failure/abort playing some files.
3179
3180 2005-11-10  Andy Wingo  <wingo@pobox.com>
3181
3182         * check/gst/gstbin.c (test_message_state_changed_children): Style
3183         fix..
3184
3185         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3186         gst_bus_poll with the signal watch. Ensures that poll and a signal
3187         watch see the same messages.
3188
3189         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3190         a poll and a watch at the same time get the same messages.
3191
3192 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3193
3194         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3195         * gst/gstcaps.c: (gst_caps_intersect):
3196           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3197           and it's not needed.
3198
3199 2005-11-10  Wim Taymans  <wim@fluendo.com>
3200
3201         * docs/design/part-TODO.txt:
3202         Updated todo.
3203
3204 2005-11-10  Wim Taymans  <wim@fluendo.com>
3205
3206         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3207         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3208         (gst_base_src_do_sync), (gst_base_src_get_range):
3209         Implement clock sync in base class.
3210
3211 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3212
3213         patch by: Tim-Philipp Müller <tim at centricular dot net>
3214
3215         * gst/gststructure.c: (gst_structure_parse_field),
3216         (gst_structure_from_string):
3217           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3218           so that gst_parse_launch() can deal with spaces in filtered link
3219           caps (fixes #164479)
3220         * check/gst/capslist.h:
3221         * check/gst/gststructure.c: (GST_START_TEST):
3222           add unit tests for this change
3223
3224 2005-11-10  Wim Taymans  <wim@fluendo.com>
3225
3226         * docs/gst/gstreamer-sections.txt:
3227         * gst/gstelement.c:
3228         * gst/gstelement.h:
3229         Fix docs, move some STATE macros to private.
3230
3231 2005-11-10  Wim Taymans  <wim@fluendo.com>
3232
3233         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3234         Added check for bug #317341
3235
3236         * gst/gstbuffer.c:
3237         * gst/gstbuffer.h:
3238         Some more spiffifying.
3239
3240         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3241         Call peer linkfunction if we are a source pad. Totally fixes
3242         #317341
3243
3244         * gst/gstpad.c:
3245         Update docs, source pads should call the peer linkfunction
3246         so they can atomically perform the pad link.
3247
3248 2005-11-09  Wim Taymans  <wim@fluendo.com>
3249
3250         * gst/gstbuffer.c:
3251         * gst/gstbuffer.h:
3252         Uber-spiffy-spiffify some more.
3253
3254 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3255
3256         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3257         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3258         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3259         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3260         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3261         * gst/gstpad.c: (gst_pad_init):
3262           Use GST_DEBUG_FUNCPTR() more extensively.
3263
3264 2005-11-09  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/gstobject.c: (gst_object_class_init):
3267         * gst/gstobject.h:
3268         Documentation fixes.
3269
3270 2005-11-09  Edward Hervey  <edward@fluendo.com>
3271
3272         * gst/gsttypefindfactory.c:
3273         Fix docs.
3274         
3275 2005-11-09  Edward Hervey  <edward@fluendo.com>
3276
3277         * gst/base/gsttypefindhelper.c:
3278         * gst/gsttypefind.c:
3279         * gst/gsttypefind.h:
3280         Fix docs.
3281
3282 2005-11-09  Wim Taymans  <wim@fluendo.com>
3283
3284         * gst/gstiterator.c:
3285         Fix revision data.
3286
3287         * gst/gsttask.c:
3288         * gst/gsttask.h:
3289         Fix docs.
3290
3291 2005-11-09  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/gstevent.h:
3294         * gst/gsturi.h:
3295         Fix docs.
3296
3297 2005-11-09  Wim Taymans  <wim@fluendo.com>
3298
3299         * docs/gst/gstreamer-sections.txt:
3300         Moved the message async delivery private lock and cond
3301         to the private section.
3302
3303         * gst/gstmessage.c:
3304         * gst/gstmessage.h:
3305         Fixed docs.
3306
3307 2005-11-09  Edward Hervey  <edward@fluendo.com>
3308
3309         * docs/gst/gstreamer-sections.txt:
3310         * gst/gsturi.c:
3311         * gst/gsturi.h:
3312         Document GstURIHandler
3313
3314 2005-11-09  Wim Taymans  <wim@fluendo.com>
3315
3316         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3317         (gst_iterator_find_custom):
3318         * gst/gstiterator.h:
3319         Fix iterator docs.
3320
3321 2005-11-09  Wim Taymans  <wim@fluendo.com>
3322
3323         * gst/gstbin.h:
3324         Document another field.
3325
3326         * gst/gststructure.c:
3327         * gst/gststructure.h:
3328         Document.
3329
3330 2005-11-09  Wim Taymans  <wim@fluendo.com>
3331
3332         * gst/gstbin.h:
3333         Documented structs.
3334
3335 2005-11-09  Wim Taymans  <wim@fluendo.com>
3336
3337         * docs/gst/gstreamer-sections.txt:
3338         Added some new macros.
3339
3340         * gst/gstclock.c:
3341         * gst/gstclock.h:
3342         * gst/gstobject.h:
3343         Docs updates.
3344
3345 2005-11-09  Wim Taymans  <wim@fluendo.com>
3346
3347         * docs/design/part-TODO.txt:
3348         Some more items for the TODO
3349
3350         * gst/gstcaps.c:
3351         * gst/gstcaps.h:
3352         Document GstCaps.
3353
3354 2005-11-09  Andy Wingo  <wingo@pobox.com>
3355
3356         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3357         to work on something else now tho...
3358
3359         * gst/base/gstadapter.c: More adapter docs.
3360
3361         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3362         (gst_file_sink_stop): New functions, replace the state change
3363         handler.
3364         (gst_file_sink_class_init): Hook up the start and stop functions.
3365         (gst_file_sink_base_init): Don't set the state change handler any
3366         more. It was a bit ugly too, being set from here...
3367         (gst_file_sink_get_property, gst_file_sink_set_property):
3368         Cleanups...
3369         (gst_file_sink_set_location): More robust check that doesn't call
3370         GST_STATE. Ugggggg.
3371
3372 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3373
3374         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3375           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3376
3377 2005-11-08  Wim Taymans  <wim@fluendo.com>
3378
3379         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3380         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3381         (gst_base_sink_chain), (gst_base_sink_change_state):
3382         * gst/base/gstbasesink.h:
3383         * gst/base/gstbasesrc.h:
3384         * gst/gstelement.h:
3385         * gst/gstevent.h:
3386         Avoid excessive typechecking in macros.
3387
3388         * gst/gstminiobject.c: (gst_mini_object_get_type),
3389         (gst_mini_object_init), (gst_mini_object_new),
3390         (gst_mini_object_free):
3391         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3392         (gst_object_finalize):
3393         Remove cruft code, optimize alloc_trace.
3394
3395 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3396
3397         * docs/faq/gst-uninstalled:
3398           fix up PS1 for systems that try to reset it
3399
3400 2005-11-07  Wim Taymans  <wim@fluendo.com>
3401
3402         * gst/base/gstbasesrc.c: (gst_base_src_init),
3403         (gst_base_src_get_range):
3404         Set the segment_end to -1 initially. Fixed typefind.
3405
3406 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3407
3408         * gst/base/gstadapter.c:
3409           Debug category should be 'adapter', not 'GstAdapter'.
3410           
3411         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3412         (gst_collectpads_class_init), (gst_collectpads_init),
3413         (gst_collectpads_peek), (gst_collectpads_pop),
3414         (gst_collectpads_event), (gst_collectpads_chain):
3415           Add debug category and some debugging output. Use boilerplate
3416           macros. Remove some extraneous words from docs.
3417
3418 2005-11-05  Andy Wingo  <wingo@pobox.com>
3419
3420         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3421         macro.
3422
3423 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3424
3425         * docs/gst/gstreamer-sections.txt:
3426         * gst/gstcaps.h:
3427         * gst/gstinfo.c:
3428         * gst/gstminiobject.h:
3429         * gst/gstobject.h:
3430         * gst/gstutils.h:
3431           more docs added
3432
3433 2005-11-04  Wim Taymans  <wim@fluendo.com>
3434
3435         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3436         Small update to stop at the configured segment_end
3437         position.
3438
3439 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3440
3441         * gst/gstregistry.c:
3442         * gst/gstregistry.h:
3443           added missing docs
3444
3445 2005-11-04  Edward Hervey  <edward@fluendo.com>
3446
3447         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3448         Check if we are doing a segment seek and have arrived at the
3449         end of that segment.
3450
3451 2005-11-04  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3454         Don't leak a mutex unlock in case of an error.
3455
3456         * gst/gstbus.h:
3457         Doc fixes.
3458
3459 2005-11-04  Wim Taymans  <wim@fluendo.com>
3460
3461         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3462         (gst_bus_post):
3463         Get the context to wake up only once.
3464
3465 2005-11-03  Wim Taymans  <wim@fluendo.com>
3466
3467         * check/states/sinks.c: (GST_START_TEST):
3468         Uncomment fixed check.
3469
3470         * docs/design/part-TODO.txt:
3471         Updated TODO.
3472
3473         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3474         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3475         (gst_base_sink_get_position):
3476         If we are going to PLAYING, post the right pending state
3477         when we post the intermediate paused message.
3478
3479         * gst/gstelement.c: (gst_element_continue_state),
3480         (gst_element_set_state_func), (gst_element_change_state):
3481         Don't post state changes that were between the same state
3482         and were not ASYNC.
3483
3484 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3485
3486         * docs/gst/gstreamer-sections.txt:
3487         * gst/gstcaps.h:
3488         * gst/gstinfo.c:
3489         * gst/gstminiobject.h:
3490         * gst/gstobject.h:
3491         * gst/gstutils.h:
3492           more docs and doc style fixes
3493
3494 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3495
3496         * docs/gst/gstreamer-sections.txt:
3497         * gst/gstelement.c:
3498         * gst/gstminiobject.c:
3499         doc fixes
3500
3501 2005-11-03  Andy Wingo  <wingo@pobox.com>
3502
3503         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3504         state-changed messages actually have the right order and the right
3505         values.
3506
3507 2005-11-03  Wim Taymans  <wim@fluendo.com>
3508
3509         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3510         Added some more checks. Specifically the case where NO_PREROLL
3511         elements are in the pipeline.
3512
3513         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3514         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3515         (gst_base_sink_get_position):
3516         Post READY->PAUSED state change messages too.
3517         Fix bug where VOID was posted as pending state...
3518
3519         * gst/gstbin.c: (gst_bin_recalc_state):
3520         use _element_continue_state() to continue the state change.
3521
3522         * gst/gstelement.c: (gst_element_continue_state),
3523         (gst_element_commit_state), (gst_element_set_state_func),
3524         (gst_element_change_state), (gst_element_change_state_func):
3525         Lots of state change cleanups, assign the STATE_RETURN in
3526         a new continue_state() function that also propagates the
3527         last return value from a state change to the app.
3528         Update some debug statements with proper category.
3529
3530 2005-11-03  Wim Taymans  <wim@fluendo.com>
3531
3532         * docs/design/part-events.txt:
3533         * docs/design/part-gstpipeline.txt:
3534         * docs/design/part-messages.txt:
3535         * docs/design/part-overview.txt:
3536         * docs/design/part-seeking.txt:
3537         * docs/design/part-states.txt:
3538         * docs/design/part-trickmodes.txt:
3539         * docs/manual/advanced-position.xml:
3540         Small docs updates.
3541
3542         * gst/gstobject.h:
3543         People think !! is ugly, this looks better.
3544
3545         * gst/gstpad.c: (gst_pad_set_blocked_async):
3546         Remove !! since it's fixed elsewhere now.
3547
3548 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3549
3550         * gst/gstminiobject.h:
3551         * gst/gstobject.h:
3552           Add !! to _FLAG_IS_SET macros to make the result boolean.
3553
3554 2005-11-03  Edward Hervey  <edward@fluendo.com>
3555
3556         * gst/gstpad.c: (gst_pad_set_blocked_async):
3557         comparing a flag and a gboolean rarely returns coherent results...
3558         Added two characters (!!) to make that work correctly.
3559         
3560 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3561
3562         * gst/gstbus.c: (gst_bus_class_init):
3563           Fix some typos.
3564           
3565         * gst/gstqueue.c: (gst_queue_loop):
3566           Don't assume a miniobject that isn't a buffer is an
3567           event (it could be that there is a refcounting
3568           problem somewhere and the pointer is stale and
3569           refers to an already destroyed miniobject).
3570
3571 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3572
3573         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3574
3575 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3576
3577         * docs/manual/advanced-position.xml:
3578           Update seek example and explanations to current 0.9 API.
3579
3580         * gst/elements/gsttypefindelement.c:
3581         (gst_type_find_element_activate):
3582           Remove FIXME comment now that the found caps
3583           are unreffed.
3584
3585 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3586
3587         * gst/gstregistryxml.c: (load_feature):
3588           Add another GST_STR_NULL instance
3589
3590 2005-11-02  Edward Hervey  <edward@fluendo.com>
3591
3592         * gst/gstpad.c: (handle_pad_block):
3593         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3594         
3595 2005-11-02  Wim Taymans  <wim@fluendo.com>
3596
3597         * gst/gstbin.c:
3598         Fix typo in docs.
3599
3600         * gst/gstelement.c: (gst_element_commit_state):
3601         Remove unused value.
3602
3603         * gst/gstiterator.c:
3604         Mention that the returned element is reffed in the docs.
3605
3606 2005-11-02  Wim Taymans  <wim@fluendo.com>
3607
3608         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3609         (gst_pad_push), (gst_pad_push_event):
3610         Unlock blocked pads when they are flushed.
3611
3612 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3613
3614         * docs/README:
3615         * docs/gst/gstreamer-sections.txt:
3616         * gst/gstbin.c:
3617           doc updates
3618         * gst/gstregistry.c: (gst_registry_scan_path_level):
3619           fix for a nasty little missed situation where an installed plug-in
3620           which was in the cache did not get overridden by an uninstalled one
3621           which was earlier in the plugin path because the newly created plugin
3622           for the uninstalled one (not in the registry) didn't get its
3623           ->registered set to TRUE
3624
3625 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3626
3627         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3628         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3629         (gst_collectpads_is_active), (gst_collectpads_collect),
3630         (gst_collectpads_collect_range), (gst_collectpads_start),
3631         (gst_collectpads_stop), (gst_collectpads_peek),
3632         (gst_collectpads_pop), (gst_collectpads_available),
3633         (gst_collectpads_read), (gst_collectpads_flush):
3634           Guard public API with assertions.
3635         
3636         * gst/gstpad.c:
3637           Fix docs for gst_pad_set_link_function().
3638
3639 2005-11-02  Johan Dahlin  <johan@gnome.org>
3640
3641         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3642         Unref found_caps after we used it.
3643
3644 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3645
3646         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3647           Don't try to ref NULL.
3648
3649 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3650
3651         * win32/common/config.h.in:
3652           provide a GST_FUNCTION that just gives a string for now
3653
3654 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3655
3656         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3657         (gst_object_flags_get_type), (register_gst_bin_flags),
3658         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3659         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3660         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3661         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3662         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3663         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3664         (gst_clock_flags_get_type), (register_gst_state),
3665         (gst_state_get_type), (register_gst_state_change_return),
3666         (gst_state_change_return_get_type), (register_gst_state_change),
3667         (gst_state_change_get_type), (register_gst_element_flags),
3668         (gst_element_flags_get_type), (register_gst_core_error),
3669         (gst_core_error_get_type), (register_gst_library_error),
3670         (gst_library_error_get_type), (register_gst_resource_error),
3671         (gst_resource_error_get_type), (register_gst_stream_error),
3672         (gst_stream_error_get_type), (register_gst_event_type),
3673         (gst_event_type_get_type), (register_gst_seek_type),
3674         (gst_seek_type_get_type), (register_gst_seek_flags),
3675         (gst_seek_flags_get_type), (register_gst_format),
3676         (gst_format_get_type), (register_gst_index_certainty),
3677         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3678         (gst_index_entry_type_get_type),
3679         (register_gst_index_lookup_method),
3680         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3681         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3682         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3683         (gst_index_flags_get_type), (register_gst_debug_level),
3684         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3685         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3686         (gst_iterator_result_get_type), (register_gst_iterator_item),
3687         (gst_iterator_item_get_type), (register_gst_message_type),
3688         (gst_message_type_get_type), (register_gst_mini_object_flags),
3689         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3690         (gst_pad_link_return_get_type), (register_gst_flow_return),
3691         (gst_flow_return_get_type), (register_gst_activate_mode),
3692         (gst_activate_mode_get_type), (register_gst_pad_direction),
3693         (gst_pad_direction_get_type), (register_gst_pad_flags),
3694         (gst_pad_flags_get_type), (register_gst_pad_presence),
3695         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3696         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3697         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3698         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3699         (gst_plugin_flags_get_type), (register_gst_rank),
3700         (gst_rank_get_type), (register_gst_query_type),
3701         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3702         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3703         (gst_tag_flag_get_type), (register_gst_task_state),
3704         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3705         (gst_alloc_trace_flags_get_type),
3706         (register_gst_type_find_probability),
3707         (gst_type_find_probability_get_type), (register_gst_uri_type),
3708         (gst_uri_type_get_type), (register_gst_parse_error),
3709         (gst_parse_error_get_type):
3710         * win32/common/gstversion.h:
3711           update win32 copies
3712
3713 2005-11-01  Luca Ognibene  <luogni@tin.it>
3714
3715         * gst/gst.c:
3716           fix docs. popt is dead, long live GOption.
3717
3718 2005-10-31  Wim Taymans  <wim@fluendo.com>
3719
3720         * gst/gstbuffer.h:
3721         Small doc fix.
3722
3723 2005-10-31  Andy Wingo  <wingo@pobox.com>
3724
3725         * Boo!
3726
3727         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3728
3729         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3730         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3731         the possibility of deadlocks here if code calling notify() or
3732         set() has a lock that can be taken in another notify handler (ABBA
3733         with class lock and e.g. python GIL state lock).
3734
3735 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3736
3737         * gst/gstbus.c: Doc updates.
3738
3739 2005-10-28  Wim Taymans  <wim@fluendo.com>
3740
3741         * docs/design/part-TODO.txt:
3742         * gst/gstiterator.c:
3743         * gst/gstsystemclock.c:
3744         * gst/gstsystemclock.h:
3745         Doc updates.
3746
3747 2005-10-28  Edward Hervey  <edward@fluendo.com>
3748
3749         * docs/gst/gstreamer-docs.sgml:
3750         * docs/gst/gstreamer-sections.txt:
3751         the GstURIType documentation page is private, it only defines GstURIType
3752         which should be defined in the GstURIHandler page
3753         
3754 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3755
3756         * gst/gstbin.c: (gst_bin_class_init):
3757         * gst/gstbin.h:
3758         * gst/gstutils.c:
3759         Documentation updates.
3760
3761 2005-10-28  Wim Taymans  <wim@fluendo.com>
3762
3763         * docs/gst/gstreamer-sections.txt:
3764         * gst/gstclock.c:
3765         * gst/gstclock.h:
3766         Documented the clocks.
3767
3768 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3769
3770         * docs/gst/gstreamer-sections.txt:
3771           move some macros to private sections
3772         * gst/gstminiobject.c:
3773         * gst/gstminiobject.h:
3774           add descriptions provided by ds and some more
3775         * gst/gstpad.h:
3776           mark macro as to be removed
3777
3778 2005-10-28  Wim Taymans  <wim@fluendo.com>
3779
3780         * docs/design/part-TODO.txt:
3781         Add an item to TODO.
3782
3783         * gst/gstiterator.c: (gst_iterator_fold),
3784         (gst_iterator_find_custom):
3785         * gst/gstiterator.h:
3786         Add iterator docs.
3787
3788 2005-10-28  Wim Taymans  <wim@fluendo.com>
3789
3790         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3791         (gst_base_transform_init):
3792         Don't leak class.
3793
3794         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3795         An EOS event marks the queue as completely filled.
3796
3797 2005-10-27  Wim Taymans  <wim@fluendo.com>
3798
3799         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3800         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3801         Some more debugging.
3802
3803         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3804         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3805         (gst_base_transform_event), (gst_base_transform_getrange),
3806         (gst_base_transform_chain):
3807         * gst/base/gstbasetransform.h:
3808         Fix debugging,
3809         Protect transform and concurrent buffer alloc with a new lock.
3810         Try not to break ABI/API.
3811
3812 2005-10-27  Wim Taymans  <wim@fluendo.com>
3813
3814         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3815         (gst_base_src_init), (gst_base_src_query),
3816         (gst_base_src_default_newsegment),
3817         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3818         (gst_base_src_send_event), (gst_base_src_event_handler),
3819         (gst_base_src_pad_get_range), (gst_base_src_loop),
3820         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3821         (gst_base_src_start), (gst_base_src_deactivate),
3822         (gst_base_src_activate_push), (gst_base_src_change_state):
3823         Move some stuff around and cleanup things.
3824
3825 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3826
3827         * gst/base/gstbasesrc.c: (gst_base_src_query):
3828           Add missing break statements.
3829
3830 2005-10-27  Wim Taymans  <wim@fluendo.com>
3831
3832         * check/gst/gstbin.c: (GST_START_TEST):
3833         An extra refcount is taken in basesrc.
3834
3835         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3836         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3837         (gst_base_src_loop):
3838         Small cleanups, check for flushing after being unlocked from the 
3839         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3840         Don't send out EOS when going to READY.
3841
3842 2005-10-27  Wim Taymans  <wim@fluendo.com>
3843
3844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3845         (gst_base_sink_get_position):
3846         Some more debug.
3847
3848         * gst/gstbin.c: (message_check), (bin_replace_message),
3849         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3850         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3851         (bin_query_duration_init), (bin_query_duration_fold),
3852         (bin_query_duration_done), (bin_query_generic_fold),
3853         (gst_bin_query):
3854         * tools/gst-launch.c: (main):
3855         Remove old option.
3856
3857 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3858
3859         * examples/controller/audio-example.c: (main):
3860         * examples/queue/queue.c: (event_loop):
3861         * gst/base/gstbasetransform.h:
3862         * gst/gstelement.c: (gst_element_send_event):
3863         * gst/gstevent.h:
3864         * gst/gstpad.c: (gst_pad_send_event):
3865           fixing examples
3866           fixing docs typos
3867           changing log priority in error situations
3868
3869 2005-10-25  Wim Taymans  <wim@fluendo.com>
3870
3871         * gst/gstbin.c: (message_check), (bin_replace_message),
3872         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3873         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3874         (bin_query_duration_init), (bin_query_duration_fold),
3875         (bin_query_duration_done), (bin_query_generic_fold),
3876         (gst_bin_query):
3877         Some doc and debug updates.
3878         Cache previously requested query DURATION for speed. invalidate
3879         cached duration if element posts a DURATION message.
3880
3881 2005-10-25  Wim Taymans  <wim@fluendo.com>
3882
3883         * docs/design/part-TODO.txt:
3884         Update TODO.
3885
3886         * gst/gstbin.c: (message_check), (bin_replace_message),
3887         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3888         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3889         (bin_query_duration_init), (bin_query_duration_fold),
3890         (bin_query_duration_done), (bin_query_generic_fold),
3891         (gst_bin_query):
3892         Handle SEGMENT_START/DONE messages correctly.
3893         More evolved query algorithm that handles duration queries
3894         correctly.
3895
3896         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3897         (gst_element_get_state_func), (gst_element_abort_state),
3898         (gst_element_commit_state), (gst_element_lost_state):
3899         Some more debugging.
3900
3901         * gst/gstmessage.h:
3902         Added doc.
3903
3904 2005-10-25  Wim Taymans  <wim@fluendo.com>
3905
3906         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3907         Don't use invalid stream_time.
3908
3909         * gst/gstevent.c: (gst_event_new_newsegment):
3910         stream_time in newsegment cannot be undefined.
3911
3912 2005-10-24  Wim Taymans  <wim@fluendo.com>
3913
3914         * gst/gstbus.c:
3915         Doc fix.
3916
3917         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3918         (gst_queue_loop):
3919         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3920
3921 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3922
3923         * docs/libs/tmpl/gstdparam.sgml:
3924         * docs/libs/tmpl/gstdplinint.sgml:
3925         * docs/libs/tmpl/gstdpman.sgml:
3926         * docs/libs/tmpl/gstdpsmooth.sgml:
3927         * docs/libs/tmpl/gstunitconvert.sgml:
3928           these are obsolete
3929
3930 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3931
3932         * configure.ac:
3933           back to HEAD
3934
3935 === release 0.9.4 ===
3936
3937 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3938
3939         * configure.ac:
3940           releasing 0.9.4, "Tyrannosaurus Rex"
3941
3942 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3943
3944         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3945         (gst_file_sink_get_current_offset):
3946           Use fseeko() and ftello() if available. When falling back on
3947           lseek() to get the current offset, fflush() first to make sure
3948           everything is up-to-date and we get the right offset.
3949
3950 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3951
3952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3953         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3954         * gst/gsterror.c: (_gst_stream_errors_init):
3955         * gst/gsterror.h:
3956         * gst/gstqueue.c: (gst_queue_loop):
3957         * po/POTFILES.in:
3958           remove prematurely added error category and clean up the instances
3959
3960 2005-10-21  Wim Taymans  <wim@fluendo.com>
3961
3962         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3963         (gst_base_sink_get_position), (gst_base_sink_query),
3964         (gst_base_sink_change_state):
3965         Simply set the right flag when going to playing, that's all
3966         we need to do instead of calling a function inside the object
3967         lock (that could take the lock as well and deadlock)
3968
3969 2005-10-21  Wim Taymans  <wim@fluendo.com>
3970
3971         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3972         (gst_base_src_loop):
3973         Don't warn, the peer element knows what to do best when
3974         the seek failed, it might try something else.
3975
3976 2005-10-21  Wim Taymans  <wim@fluendo.com>
3977
3978         * gst/base/gstbasesrc.c: (gst_base_src_init),
3979         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3980         Fix seeking.
3981
3982 2005-10-21  Wim Taymans  <wim@fluendo.com>
3983
3984         * docs/design/part-segments.txt:
3985         More docs.
3986
3987         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3988         Correctly set caps, even on the subbufer.
3989
3990 2005-10-21  Wim Taymans  <wim@fluendo.com>
3991
3992         * docs/gst/gstreamer-docs.sgml:
3993         * docs/gst/gstreamer-sections.txt:
3994         * gst/gstelement.h:
3995         * gst/gstevent.c:
3996         * gst/gstevent.h:
3997         * gst/gstmessage.h:
3998         * gst/gstpad.h:
3999         * gst/gstparse.h:
4000         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4001         * gst/gsttask.h:
4002         * gst/gstutils.c:
4003         * gst/gstutils.h:
4004         And 2% more doc coverage.
4005
4006 2005-10-21  Andy Wingo  <wingo@pobox.com>
4007
4008         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4009         position reporting.
4010
4011 2005-10-20  Wim Taymans  <wim@fluendo.com>
4012
4013         * gst/gsterror.c: (gst_error_get_message):
4014         * gst/gstparse.h:
4015         * gst/gstquery.h:
4016         * gst/gststructure.c:
4017         * gst/gsttrace.c:
4018         * gst/gstutils.c:
4019         More docs.
4020
4021 2005-10-20  Wim Taymans  <wim@fluendo.com>
4022
4023         * gst/gstbuffer.h:
4024         * gst/gstpad.c:
4025         * gst/gstparse.c:
4026         Another 1% more coverage.
4027
4028 2005-10-20  Wim Taymans  <wim@fluendo.com>
4029
4030         * docs/gst/gstreamer-sections.txt:
4031         * gst/gstelement.c: (gst_element_get_state_func),
4032         (gst_element_abort_state), (gst_element_commit_state),
4033         (gst_element_lost_state):
4034         * gst/gstevent.h:
4035         * gst/gstquery.c: (gst_query_set_position),
4036         (gst_query_parse_position), (gst_query_set_duration),
4037         (gst_query_parse_duration), (gst_query_new_convert):
4038         * gst/gstutils.c:
4039         Yay! 1% more docs coverage.
4040
4041 2005-10-20  Wim Taymans  <wim@fluendo.com>
4042
4043         * gst/gstpad.h:
4044         * gst/gstquery.c: (gst_query_set_position),
4045         (gst_query_parse_position), (gst_query_set_duration),
4046         (gst_query_parse_duration), (gst_query_new_convert):
4047         * gst/gstquery.h:
4048         * gst/gstutils.c: (gst_element_query_convert):
4049         * gst/gstutils.h:
4050         Docs and consistency fixes.
4051
4052 2005-10-20  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/gsttask.c:
4055         * gst/gsttask.h:
4056         More docs.
4057
4058 2005-10-20  Wim Taymans  <wim@fluendo.com>
4059
4060         * gst/gstbin.c: (message_check), (bin_replace_message),
4061         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4062         (update_degree), (gst_bin_sort_iterator_next),
4063         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4064         Reworked the message handling a bit, cache the messages instead of
4065         only the senders. alows us to do more in the future.
4066
4067 2005-10-20  Wim Taymans  <wim@fluendo.com>
4068
4069         * docs/design/part-TODO.txt:
4070         Update TODO
4071
4072         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4073         (gst_base_sink_query):
4074         Don't use clock time to report position when in EOS.
4075
4076 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4077
4078         * tools/gst-inspect.c: (print_interfaces),
4079         (print_element_properties_info), (print_element_info):
4080           Fix interface output with gst-inspect -a; don't print
4081           newlines after double/float properties.
4082
4083 2005-10-20  Wim Taymans  <wim@fluendo.com>
4084
4085         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4086         (gst_base_sink_query):
4087         Speed up current position calculation.
4088
4089         * gst/base/gstbasesrc.c: (gst_base_src_query),
4090         (gst_base_src_default_newsegment):
4091         Correctly set stream position in newsegment.
4092
4093         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4094         (update_degree), (gst_bin_sort_iterator_next),
4095         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4096         * gst/gstmessage.c: (gst_message_new_custom):
4097         Clean up debugging info
4098
4099         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4100         (gst_queue_loop), (gst_queue_handle_src_query):
4101         Pause task faster.
4102
4103 2005-10-19  Wim Taymans  <wim@fluendo.com>
4104
4105         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4106         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4107         Fix query handling again.
4108
4109 2005-10-19  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4112         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4113         * gst/base/gstbasesrc.c: (gst_base_src_query):
4114         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4115         * gst/elements/gsttypefindelement.c:
4116         (gst_type_find_handle_src_query), (find_element_get_length),
4117         (gst_type_find_element_activate):
4118         API change fix.
4119
4120         * gst/gstquery.c: (gst_query_new_position),
4121         (gst_query_set_position), (gst_query_parse_position),
4122         (gst_query_new_duration), (gst_query_set_duration),
4123         (gst_query_parse_duration), (gst_query_set_segment),
4124         (gst_query_parse_segment):
4125         * gst/gstquery.h:
4126         Bundling query position/duration is not a good idea since duration
4127         does not change much and we don't want to recalculate it for every
4128         position query, so they are separated again..
4129         Base value in segment query is not needed.
4130
4131         * gst/gstqueue.c: (gst_queue_handle_src_query):
4132         * gst/gstutils.c: (gst_element_query_position),
4133         (gst_element_query_duration), (gst_pad_query_position),
4134         (gst_pad_query_duration):
4135         * gst/gstutils.h:
4136         Updates for query API change.
4137         Added some docs here and there.
4138
4139 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4140
4141         * check/gst/gstbin.c: (GST_START_TEST):
4142         * check/gst/gstghostpad.c: (GST_START_TEST):
4143         * check/pipelines/cleanup.c: (GST_START_TEST):
4144           wait on thread to die so we can check refcount correctly
4145
4146 2005-10-18  Wim Taymans  <wim@fluendo.com>
4147
4148         * check/pipelines/stress.c: (GST_START_TEST):
4149         Make check a little more time consuming.
4150
4151 2005-10-18  Wim Taymans  <wim@fluendo.com>
4152
4153         * check/Makefile.am:
4154         * check/pipelines/stress.c: (GST_START_TEST),
4155         (simple_launch_lines_suite), (main):
4156         Small state change torture test.
4157
4158         * docs/design/part-states.txt:
4159         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4160         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4161         (gst_base_sink_change_state):
4162         Never take state lock from streaming thread, clean up ugly
4163         hacks. Unfortunatly core does not yet support nice ways to
4164         async commit state.
4165         
4166         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4167         (bin_bus_handler):
4168         Start state recalc if a STATE_DIRTY message is posted, but only
4169         on the toplevel bin.
4170
4171         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4172         (gst_element_get_state_func), (gst_element_abort_state),
4173         (gst_element_commit_state), (gst_element_lost_state),
4174         (gst_element_set_state_func), (gst_element_change_state):
4175         * gst/gstelement.h:
4176         State variables are now protected with the LOCK, the state
4177         lock is only used to serialize _set_state().
4178
4179 2005-10-18  Wim Taymans  <wim@fluendo.com>
4180
4181         * check/gst/gstbin.c: (GST_START_TEST):
4182         * check/gst/gstmessage.c: (GST_START_TEST):
4183         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4184         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4185         (bin_bus_handler):
4186         * gst/gstelement.c: (gst_element_abort_state),
4187         (gst_element_commit_state), (gst_element_lost_state):
4188         * gst/gstmessage.c: (gst_message_new_state_changed),
4189         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4190         (gst_message_new_segment_done), (gst_message_new_duration),
4191         (gst_message_parse_state_changed),
4192         (gst_message_parse_segment_start),
4193         (gst_message_parse_segment_done), (gst_message_parse_duration):
4194         * gst/gstmessage.h:
4195         * tools/gst-launch.c: (event_loop):
4196         Seriously, this is better than a previous commit as we only need
4197         to notify the fact that an element changed state in a streaming
4198         thread, marking the state of the parents dirty, hence the 
4199         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4200         message.
4201
4202 2005-10-18  Wim Taymans  <wim@fluendo.com>
4203
4204         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4205         (gst_bin_recalc_func):
4206         * gst/gstelement.c: (gst_element_set_clock),
4207         (gst_element_abort_state), (gst_element_lost_state):
4208         Cleanups, prepare for state change fixes.
4209
4210 2005-10-18  Wim Taymans  <wim@fluendo.com>
4211
4212         * gst/gstbin.h:
4213         * gst/gstelement.c: (gst_element_class_init),
4214         (gst_element_set_state), (gst_element_set_state_func):
4215         * gst/gstelement.h:
4216         Pending ABI changes.
4217         GThreadPool in GstBinClass to monitor async state changes.
4218         state_cookie in GstElement to detect concurrent gst/set state.
4219         set_state is now virtual too in case a very complicated element
4220         has to be constructed.
4221
4222 2005-10-18  Wim Taymans  <wim@fluendo.com>
4223
4224         * check/gst/gstbin.c: (GST_START_TEST):
4225         * check/gst/gstmessage.c: (GST_START_TEST):
4226         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4227         * gst/gstbin.c: (bin_bus_handler):
4228         * gst/gstelement.c: (gst_element_commit_state),
4229         (gst_element_lost_state):
4230         * gst/gstmessage.c: (gst_message_new_state_changed),
4231         (gst_message_new_segment_start), (gst_message_new_segment_done),
4232         (gst_message_new_duration), (gst_message_parse_state_changed),
4233         (gst_message_parse_segment_start),
4234         (gst_message_parse_segment_done), (gst_message_parse_duration):
4235         * gst/gstmessage.h:
4236         * tools/gst-launch.c: (event_loop):
4237         Make messages future proof.
4238         state-change gets a flag if it was a message comming from the
4239         streaming thread.
4240         segment-start/stop can also be specified in other formats.
4241         A message to notify an app that a pipeline changed playback 
4242         duration.
4243         Also fix a GstMessage leak in -launch
4244
4245 2005-10-18  Andy Wingo  <wingo@pobox.com>
4246
4247         * gst/gstelement.c (gst_element_dispose): More helpful message.
4248
4249 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4250
4251         reviewed by: <delete if not using a buddy>
4252
4253         * common/gtk-doc.mak:
4254
4255 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4256
4257         * gst/gstregistry.c: (gst_registry_scan_path_level):
4258           unref a plug-in we get that was already initialized
4259
4260 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4261
4262         * docs/gst/gstreamer-sections.txt:
4263         * docs/libs/gstreamer-libs-sections.txt:
4264         * gst/gstelement.h:
4265           add new api entries
4266           hide internal macro
4267
4268 2005-10-17  Andy Wingo  <wingo@pobox.com>
4269
4270         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4271         cleanup.
4272
4273         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4274
4275         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4276
4277         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4278         (gst_element_get_state_func): Better debug message.
4279         (gst_element_commit_state): s/INFO/DEBUG/.
4280         (gst_element_lost_state, gst_element_change_state): 
4281
4282         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4283         (gst_message_new_custom): s/INFO/LOG/.
4284
4285 2005-10-17  Michael Smith <msmith@fluendo.com>
4286
4287         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4288           Check if end time is valid using end time, not start time.
4289
4290 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4291
4292         * check/gst-libs/controller.c: (GST_START_TEST),
4293         (gst_controller_suite):
4294         * libs/gst/controller/gstcontroller.c:
4295         (gst_controlled_property_set_interpolation_mode):
4296         * libs/gst/controller/gstcontroller.h:
4297         * libs/gst/controller/gstinterpolation.c:
4298         * testsuite/controller/.cvsignore:
4299         * testsuite/controller/Makefile.am:
4300         * testsuite/controller/interpolator.c:
4301           merge controller testsuites
4302           fix broken tests
4303           remove mem-chunk from docs
4304
4305 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4306
4307         * gst/gstmemchunk.c:
4308         * gst/gstmemchunk.h:
4309         * gst/gsttrashstack.c:
4310         * gst/gsttrashstack.h:
4311           out.  get out.  you're fired.  to the Attic !
4312
4313 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4314
4315         * gst/gstcaps.c: (gst_caps_intersect):
4316           fix signedness issues in a (hopefully) correct way
4317         * gst/gstelement.c: (gst_element_pads_activate):
4318           some debugging
4319         * gst/gstobject.c: (gst_object_set_parent):
4320           some debugging
4321
4322 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4323
4324         * gst/gstvalue.h: Fix prototypes.
4325
4326 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4327
4328         * docs/gst/gstreamer-sections.txt:
4329         * gst/gst.c: (gst_version_string):
4330         * gst/gst.h:
4331         * gst/gstversion.h.in:
4332         * win32/common/libgstreamer.def:
4333           add gst_version_string ()
4334
4335 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4336
4337         * configure.ac:
4338           clean up further
4339         * gst/gst.c: (init_post):
4340         * win32/common/config.h.in:
4341           it's PLUGINDIR now
4342         * gst/gstcaps.c: (gst_caps_intersect):
4343           use gint64, the range could be bigger than a guint
4344
4345 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * gst/gstclock.h:
4348           document potential problem in 2038
4349
4350 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4351
4352         * gst/gstcaps.c: (gst_caps_intersect):
4353           Fix guint j diving under 0
4354
4355 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * configure.ac:
4358         * win32/common/config.h:
4359         * win32/common/config.h.in:
4360           check for process.h, declares getpid() on Windows
4361         * gst/gstinfo.c:
4362           include process.h if we have it
4363         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4364         * gst/gstmemchunk.h:
4365           fix signedness issues
4366         * win32/common/libgstreamer.def:
4367           fix get_type's
4368
4369 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4370
4371         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4372         fix. Because of unsigned ints, caps intersection was going nuts and
4373         trying to access structures with G_MAXUINT index. That fixes
4374         videotestsrc ! ffmpegcolorspace ! fakesink
4375         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4376         consistency.
4377
4378 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4379
4380         * configure.ac:
4381           use the gettext macro
4382         * gst/elements/gstelements.c:
4383         * gst/gst.c:
4384         * gst/indexers/gstindexers.c:
4385           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4386         * win32/common/config.h:
4387           updated config.h
4388         * win32/common/config.h.in:
4389           add the template to generate config.h
4390         * win32/common/gstenumtypes.c:
4391         * win32/common/gstversion.h:
4392           updated copies
4393
4394 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4395
4396         * gst/gst.c: (gst_version):
4397         * gst/gstversion.h.in:
4398           add the nano
4399
4400 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4401
4402         * gst/gstevent.h:
4403           Oops, add missing closing bracket.
4404
4405 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4406
4407         * configure.ac:
4408           use common m4's for argument checking
4409
4410 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4411
4412         * docs/gst/gstreamer-sections.txt:
4413         * gst/gstevent.h:
4414           Add GST_EVENT_TYPE_NAME() macro.
4415
4416 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4417
4418         * gst/gstinfo.c:
4419         * gst/gstpluginfeature.c:
4420         * gst/gsttask.c:
4421           privatize more symbols
4422
4423 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4424
4425         * configure.ac:
4426           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4427           everything that uses GStreamer API should have the includes
4428
4429 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4430
4431         * docs/gst/gstreamer-sections.txt:
4432         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4433         * gst/gstvalue.h:
4434           give each value a _get_type, removes the DATA exports
4435
4436 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * gst/gst.c:
4439         * gst/gst.h:
4440           remove _gst_registry_auto_load, not used anymore
4441         * gst/gstbin.c: (gst_bin_get_type):
4442         * gst/gstbin.h:
4443         * gst/gstelement.c: (gst_element_get_type):
4444         * gst/gstelement.h:
4445         * gst/gstobject.c: (gst_object_get_type):
4446         * gst/gstobject.h:
4447         * gst/gstpad.c: (gst_pad_get_type):
4448         * gst/gstpad.h:
4449           make _get_type functions similar, fixes data export from library
4450
4451 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         * configure.ac:
4454           correctly make conditionals
4455         * gst/elements/Makefile.am:
4456         * gst/elements/gstelements.c:
4457           fix typo causing fdsrc not to build
4458
4459 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4460
4461         * testsuite/Makefile.am:
4462         * testsuite/bytestream/.cvsignore:
4463         * testsuite/bytestream/Makefile.am:
4464         * testsuite/bytestream/filepadsink.c:
4465         * testsuite/bytestream/gstbstest.c:
4466         * testsuite/bytestream/test1.c:
4467         * testsuite/bytestream/testfile1:
4468         * testsuite/caps/normalisation.c:
4469         * testsuite/caps/random.c: (main):
4470         * testsuite/cleanup/.cvsignore:
4471         * testsuite/cleanup/Makefile.am:
4472         * testsuite/cleanup/cleanup1.c:
4473         * testsuite/cleanup/cleanup2.c:
4474         * testsuite/cleanup/cleanup3.c:
4475         * testsuite/cleanup/cleanup4.c:
4476         * testsuite/cleanup/cleanup5.c:
4477         * testsuite/controller/interpolator.c:
4478         * testsuite/debug/printf_extension.c: (main):
4479         * testsuite/elements/tee.c:
4480         * testsuite/negotiation/.cvsignore:
4481         * testsuite/negotiation/Makefile.am:
4482         * testsuite/negotiation/pad_link.c:
4483         * testsuite/pad/Makefile.am:
4484         * testsuite/pad/chainnopull.c:
4485         * testsuite/pad/getnopush.c:
4486         * testsuite/pad/link.c:
4487         * testsuite/refcounting/sched.c: (create_pipeline):
4488         * testsuite/registry/Makefile.am:
4489         * testsuite/registry/gst-print-formats.c:
4490         * testsuite/schedulers/.cvsignore:
4491         * testsuite/schedulers/142183-2.c:
4492         * testsuite/schedulers/142183.c:
4493         * testsuite/schedulers/143777-2.c:
4494         * testsuite/schedulers/143777.c:
4495         * testsuite/schedulers/147713.c:
4496         * testsuite/schedulers/147819.c:
4497         * testsuite/schedulers/147894-2.c:
4498         * testsuite/schedulers/147894.c:
4499         * testsuite/schedulers/Makefile.am:
4500         * testsuite/schedulers/group_link.c:
4501         * testsuite/schedulers/queue_link.c:
4502         * testsuite/schedulers/relink.c:
4503         * testsuite/schedulers/unlink.c:
4504         * testsuite/schedulers/unref.c:
4505         * testsuite/schedulers/useless_iteration.c:
4506         * testsuite/states/bin.c:
4507           clean out/remove some stuff from the testsuite directories
4508
4509 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4510
4511         * configure.ac:
4512           check for some headers
4513         * gst/elements/Makefile.am:
4514         * gst/elements/gstelements.c:
4515           don't compile fdsrc without sys/socket.h
4516         * gst/indexers/Makefile.am:
4517         * gst/indexers/gstindexers.c: (plugin_init):
4518           don't compile fileindex without mmap
4519
4520 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4521
4522         * configure.ac:
4523           reorganize
4524           clean up
4525           document more
4526           remove cruft
4527         * check/Makefile.am:
4528         * docs/gst/Makefile.am:
4529         * examples/helloworld/Makefile.am:
4530         * gst/Makefile.am:
4531         * gst/base/Makefile.am:
4532         * gst/check/Makefile.am:
4533         * gst/elements/Makefile.am:
4534         * gst/indexers/Makefile.am:
4535         * gst/parse/Makefile.am:
4536         * libs/gst/controller/Makefile.am:
4537         * libs/gst/dataprotocol/Makefile.am:
4538         * examples/helloworld/helloworld.c: (event_loop):
4539           compile fixes, though it's not being compiled currently
4540
4541 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4542
4543         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4544           Add some simple tests for the new taglist date API.
4545
4546 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4547
4548         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4549         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4550           Beautify 'last-message' output: print 'none' for buffer timestamps
4551           and durations if none is set; improve alignment with next messages.
4552
4553 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4554
4555         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4556         * gst/gstpluginfeature.h:
4557         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4558         * gst/gstregistry.h:
4559         * docs/gst/gstreamer-sections.txt:
4560           Add new API to check plugin feature version requirements.
4561
4562         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4563           Some basic tests for the above.         
4564
4565 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4566
4567         * gst/gststructure.c: (gst_structure_to_string):
4568           guard against NULL printf - happens when for example
4569           a message structure with GstClock gets serialized
4570
4571 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4572
4573         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4574           Fix presumable copy'n'pasto.
4575
4576 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4577
4578         * gst/elements/gstfakesrc.h:
4579         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4580         * gst/elements/gsttypefindelement.c:
4581           fix some signedness
4582         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4583           I wonder if this could actually write +2GB files before
4584
4585 2005-10-13  Andy Wingo  <wingo@pobox.com>
4586
4587         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4588         Fix Timmeke Waymans bug.
4589         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4590         string of the proper length to gst_caps_from_string. There's a
4591         potential for, before this fix, that this could cause someone
4592         connecting over the network to cause a segfault if the payload is
4593         not NUL-terminated.
4594
4595 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4596
4597         * docs/design/draft-push-pull.txt:
4598         * docs/design/part-overview.txt:
4599         * docs/random/TODO-pre-0.9:
4600         * docs/random/old/ChangeLog.gstreamer:
4601         * gst/base/gstpushsrc.c:
4602         * gst/gstclock.c:
4603           fixed typos
4604
4605 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4606
4607         * gst/glib-compat.c: (gst_flags_get_first_value):
4608         * gst/glib-compat.h:
4609         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4610         (gst_value_compare_double), (gst_value_serialize_flags):
4611           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4612           infinite loop
4613
4614 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4617         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4618           fix up debugging
4619         * tools/gst-launch.c: (event_loop):
4620           print out clock nicely
4621
4622 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4623
4624         * docs/gst/gstreamer-sections.txt:
4625         * gst/gsttaglist.h:
4626         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4627         (gst_tag_list_get_date_index):
4628           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4629           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4630
4631 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4632
4633         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4634         (gst_collectpads_chain):
4635         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4636         in CollectData.
4637
4638 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4639
4640         * docs/gst/gstreamer-sections.txt:
4641         * gst/gst.c:
4642         * gst/gsterror.h:
4643         * tools/gst-inspect.c: (main):
4644         * tools/gst-launch.c: (main):
4645         * tools/gst-run.c: (main):
4646         * tools/gst-xmlinspect.c: (main):
4647           fix GOption context leaks
4648           doc fixes
4649
4650 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4651
4652         * gst/gstbus.c:
4653           use HAVE_UNISTD_H
4654         * win32/common/config.h:
4655           update config
4656         * win32/vs6/grammar.dsp:
4657         * win32/vs6/libgstelements.dsp:
4658         * win32/vs6/libgstreamer.dsp:
4659           update vs6 files
4660
4661 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4662
4663         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4664         * gst/base/gstbasesrc.c: (gst_base_src_query):
4665           fix more guint64<->gdouble conversions
4666
4667 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4668
4669         * Makefile.am:
4670           add win32-update target
4671         * win32/common/gstconfig.h:
4672         * win32/common/gstenumtypes.c:
4673         * win32/common/gstenumtypes.h:
4674         * win32/common/gstversion.h:
4675           add files that visual studio can't generate
4676
4677 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4678
4679         * Makefile.am:
4680           add a win32-update target
4681         * configure.ac:
4682
4683 2005-10-12  Wim Taymans  <wim@fluendo.com>
4684
4685         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4686         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4687         * gst/gstelement.c: (gst_element_commit_state),
4688         (gst_element_set_state):
4689         Protect flags with proper lock.
4690         unref provided cached clock in dispose.
4691
4692 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4693
4694         * gst/gst.c:
4695         * gst/gstminiobject.h:
4696         * gst/gstpad.h:
4697         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4698           removed unused flags from miniobject
4699           doc fixes
4700
4701 2005-10-12  Wim Taymans  <wim@fluendo.com>
4702
4703         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4704         (gst_file_sink_event), (gst_file_sink_render):
4705         Flush before seeking.
4706
4707 2005-10-12  Andy Wingo  <wingo@pobox.com>
4708
4709         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4710         always been the case.
4711
4712 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4713
4714         * check/gst/gstbin.c: (GST_START_TEST):
4715         * docs/gst/gstreamer-sections.txt:
4716         * gst/base/gstbasesink.c: (gst_base_sink_init):
4717         * gst/base/gstbasesrc.c: (gst_base_src_init),
4718         (gst_base_src_get_range), (gst_base_src_check_get_range),
4719         (gst_base_src_start), (gst_base_src_stop):
4720         * gst/base/gstbasesrc.h:
4721         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4722         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4723         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4724         (bin_bus_handler):
4725         * gst/gstbin.h:
4726         * gst/gstbuffer.h:
4727         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4728         * gst/gstbus.h:
4729         * gst/gstelement.c: (gst_element_is_locked_state),
4730         (gst_element_set_locked_state), (gst_element_commit_state),
4731         (gst_element_set_state):
4732         * gst/gstelement.h:
4733         * gst/gstindex.c: (gst_index_init):
4734         * gst/gstindex.h:
4735         * gst/gstminiobject.h:
4736         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4737         (gst_object_set_parent):
4738         * gst/gstobject.h:
4739         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4740         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4741         * gst/gstpad.h:
4742         * gst/gstpadtemplate.h:
4743         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4744         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4745         * gst/gstpipeline.h:
4746         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4747         (gst_file_index_commit):
4748         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4749         * testsuite/pad/link.c: (gst_test_src_init),
4750         (gst_test_filter_init), (gst_test_sink_init):
4751         * testsuite/states/locked.c: (main):
4752           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4753           moved bitshift from macro to enum definition
4754
4755 2005-10-12  Wim Taymans  <wim@fluendo.com>
4756
4757         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4758         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4759         (gst_file_sink_render):
4760         Some more debugging info.
4761
4762 2005-10-12  Wim Taymans  <wim@fluendo.com>
4763
4764         * docs/design/part-states.txt:
4765         * tools/gst-launch.c: (main):
4766         Some doc updates.
4767         Revert non-intentional change.
4768
4769 2005-10-12  Wim Taymans  <wim@fluendo.com>
4770
4771         * check/gst/gstbin.c: (GST_START_TEST):
4772         * check/gst/gstelement.c: (GST_START_TEST):
4773         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4774         * check/gst/gstghostpad.c: (GST_START_TEST):
4775         * check/gst/gstpipeline.c: (GST_START_TEST):
4776         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4777         * check/states/sinks.c: (GST_START_TEST):
4778         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4779         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4780         (gst_bin_remove_func), (gst_bin_get_state_func),
4781         (gst_bin_recalc_state), (gst_bin_change_state_func),
4782         (bin_bus_handler):
4783         * gst/gstelement.c: (gst_element_get_state_func),
4784         (gst_element_get_state), (gst_element_abort_state),
4785         (gst_element_commit_state), (gst_element_set_state),
4786         (gst_element_change_state), (gst_element_change_state_func):
4787         * gst/gstelement.h:
4788         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4789         (gst_pipeline_provide_clock_func):
4790         * gst/gstutils.c: (gst_element_link_pads_filtered):
4791         * tools/gst-launch.c: (main):
4792         * tools/gst-typefind.c: (main):
4793         Use GstClockTime in _get_state() instead of GTimeVal.
4794         Remove old code in gstutils.c
4795
4796 2005-10-12  Andy Wingo  <wingo@pobox.com>
4797
4798         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4799         removed.
4800
4801         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4802         there is no task. Shouldn't affect any code, as nothing in our
4803         plugins checks this return value.
4804         (gst_pad_stop_task): Also take the stream lock if the pad has no
4805         task. Docs updated.
4806
4807 2005-10-12  Wim Taymans  <wim@fluendo.com>
4808
4809         * gst/gstpad.c: (pre_activate), (post_activate),
4810         (gst_pad_activate_pull), (gst_pad_activate_push):
4811         Cleanup activation code. Reset old state if
4812         activation failed.
4813
4814 2005-10-12  Wim Taymans  <wim@fluendo.com>
4815
4816         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4817         (gst_base_sink_change_state):
4818         No need to prerol after receiving EOS.
4819
4820         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4821         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4822         * gst/elements/gstidentity.c: (gst_identity_event):
4823         Print events more verbosely.
4824
4825 2005-10-12  Wim Taymans  <wim@fluendo.com>
4826
4827         * check/Makefile.am:
4828         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4829         * check/states/sinks2.c:
4830         Moved sinks2 testcode in sinks check.
4831
4832         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4833         (gst_bin_remove_func), (gst_bin_recalc_state),
4834         (gst_bin_change_state_func), (bin_bus_handler):
4835         Fix potential race condition when _get_state() iterated over an
4836         ASYNC element right before it posted a state completion.
4837
4838         * gst/gstclock.h:
4839         Do proper cast here.
4840
4841         * gst/gstevent.c: (gst_event_new_newsegment),
4842         (gst_event_parse_newsegment):
4843         A playback rate of 0.0 is not allowed.
4844
4845 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4846
4847         * win32/common/config.h:
4848         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4849         (_trewinddir), (_ttelldir), (_tseekdir):
4850         * win32/common/dirent.h:
4851         * win32/common/gtchar.h:
4852         * win32/common/libgstbase.def:
4853         * win32/common/libgstreamer.def:
4854         * win32/vs6/grammar.dsp:
4855         * win32/vs6/gst_inspect.dsp:
4856         * win32/vs6/gst_launch.dsp:
4857         * win32/vs6/gstreamer.dsw:
4858         * win32/vs6/libgstbase.dsp:
4859         * win32/vs6/libgstelements.dsp:
4860         * win32/vs6/libgstreamer.dsp:
4861           Visual Studio 6 project files, and a new common directory.
4862           Phear.
4863
4864 2005-10-11  Wim Taymans  <wim@fluendo.com>
4865
4866         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4867         (gst_base_sink_do_sync), (gst_base_sink_query),
4868         (gst_base_sink_change_state):
4869         * gst/base/gstbasesink.h:
4870         Correctly parse newsegment info.
4871
4872 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4873
4874         * gst/gst.c: (init_post):
4875           split plugin paths correctly
4876
4877 2005-10-11  Wim Taymans  <wim@fluendo.com>
4878
4879         * check/gst/gstevent.c: (GST_START_TEST):
4880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4881         (gst_base_sink_change_state):
4882         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4883         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4884         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4885         * gst/gstevent.c: (gst_event_new_newsegment),
4886         (gst_event_parse_newsegment):
4887         * gst/gstevent.h:
4888         Added extra flag to newsegment for future API freeze.
4889         Updated check and base elements.
4890
4891 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4892
4893         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4894         (gst_collectpads_add_pad), (gst_collectpads_pop),
4895         (gst_collectpads_event), (gst_collectpads_chain):
4896         * gst/base/gstcollectpads.h: Handle EOS correctly.
4897
4898 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * tools/gst-launch.c: (main):
4901           more null protecting
4902
4903 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4904
4905         * gst/gst-i18n-lib.h:
4906           check for ENABLE_NLS, not GETTEXT_PACKAGE
4907         * gst/gstregistry.c: (gst_registry_add_plugin),
4908         (gst_registry_scan_path_level),
4909         (_gst_registry_remove_cache_plugins):
4910           protect possibly NULL strings
4911         * gst/parse/types.h:
4912           config.h already included before
4913         * tools/gst-inspect.c: (main):
4914           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4915           check for ENABLE_NLS, not GETTEXT_PACKAGE
4916         * tools/gst-launch.c: (main):
4917           check for ENABLE_NLS, not GETTEXT_PACKAGE
4918
4919 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4920
4921         * configure.ac:
4922           if we don't have glib, fail before testing 2.8
4923         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4924           fix a leak, should fix plugins-base testsuite
4925
4926 2005-10-11  Andy Wingo  <wingo@pobox.com>
4927
4928         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4929         take the mode we're going to as an arg. Go head and set the mode
4930         and flushing flags now, so that if the activate function starts a
4931         thread all the flags will be in the right state.
4932         (post_activate): Renamed also. Just handle making sure streaming
4933         finishes for the deactivation case, and setting the deactivated
4934         mode.
4935         (gst_pad_set_active): Complain loudly if deactivation fails.
4936         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4937         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4938         remove the terrible hack.
4939
4940 2005-10-11  Wim Taymans  <wim@fluendo.com>
4941
4942         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4943         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4944         (gst_bin_recalc_state), (gst_bin_change_state_func),
4945         (gst_bin_dispose), (bin_bus_handler):
4946         * gst/gstbin.h:
4947         Prepare to make current EOS message queue more generic.
4948         Fix some typos.
4949
4950         * gst/gstevent.c: (gst_event_new_newsegment),
4951         (gst_event_parse_newsegment):
4952         * gst/gstevent.h:
4953         Rename base to stream_time.
4954
4955         * gst/gstmessage.h:
4956         Fix typo in docs.
4957
4958 2005-10-11  Wim Taymans  <wim@fluendo.com>
4959
4960         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4961         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4962         (gst_bin_change_state_func), (bin_bus_handler):
4963         * gst/gstbin.h:
4964         Work on proper clock selection.
4965
4966 2005-10-11  Edward Hervey  <edward@fluendo.com>
4967
4968         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4969         * libs/gst/controller/gstcontroller.h:
4970         Added GList* version of _remove_properties() in order to be able to wrap
4971         it in bindings.
4972
4973 2005-10-11  Wim Taymans  <wim@fluendo.com>
4974
4975         * docs/design/part-states.txt:
4976         Some more docs.
4977
4978         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4979         (gst_bin_change_state_func), (bin_bus_handler):
4980         Doc updates. Don't distribute the same clock over and over again.
4981
4982         * gst/gstclock.c:
4983         * gst/gstclock.h:
4984         Doc updates.
4985
4986         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4987         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4988         (gst_pad_send_event):
4989         * gst/gstpad.h:
4990         Make probe emission threadsafe again.
4991         Register quarks and move _get_name() from utils.
4992         Doc updates.
4993
4994         * gst/gstpipeline.c: (gst_pipeline_class_init),
4995         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4996         Only redistribute the clock of it changed.
4997
4998         * gst/gstsystemclock.h:
4999         Doc updates. 
5000
5001         * gst/gstutils.c:
5002         * gst/gstutils.h:
5003         Moved the _flow_get_name() to GstPad.
5004
5005 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5006
5007         * check/gst-libs/gdp.c: (GST_START_TEST):
5008         * check/gst/gstcaps.c: (GST_START_TEST):
5009         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5010         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5011         (gst_dp_packet_from_caps):
5012           fix more valgrind warnings before turning up the heat
5013
5014 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5015
5016         * gst/parse/grammar.y:
5017           some cleanup before the hacking
5018
5019 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5020
5021         * gst/base/gstbasesrc.c: (gst_base_src_query):
5022           use conversions
5023         * gst/gstutils.c: (gst_guint64_to_gdouble),
5024         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5025         * gst/gstutils.h:
5026           externalize, basesrc uses it
5027           obviously the implementation needs testing
5028
5029 2005-10-10  Wim Taymans  <wim@fluendo.com>
5030
5031         * tests/sched/Makefile.am:
5032         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5033         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5034
5035 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5036
5037         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5038           apparently converting from guint64 to double is not implemented
5039           on MSVC
5040
5041 2005-10-10  Wim Taymans  <wim@fluendo.com>
5042
5043         * check/Makefile.am:
5044         * check/generic/states.c: (GST_START_TEST):
5045         * check/gst/gstbin.c: (GST_START_TEST):
5046         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5047         * check/states/sinks.c: (GST_START_TEST):
5048         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5049         (main):
5050         Check fixes, use API as stated in design docs, remove hacks.
5051
5052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5053         (gst_base_sink_change_state):
5054         Catch stopping our task while we're shutting down.
5055
5056         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5057         (gst_bin_remove_func), (gst_bin_get_state_func),
5058         (gst_bin_recalc_state), (gst_bin_change_state_func),
5059         (bin_bus_handler):
5060         * gst/gstbin.h:
5061         * gst/gstelement.c: (gst_element_init),
5062         (gst_element_get_state_func), (gst_element_abort_state),
5063         (gst_element_commit_state), (gst_element_lost_state),
5064         (gst_element_set_state), (gst_element_change_state),
5065         (gst_element_change_state_func):
5066         * gst/gstelement.h:
5067         New state change algorithm (see #318116)
5068
5069         * gst/gstpipeline.c: (gst_pipeline_class_init),
5070         (gst_pipeline_init), (gst_pipeline_set_property),
5071         (gst_pipeline_get_property), (do_pipeline_seek),
5072         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5073         * gst/gstpipeline.h:
5074         Remove crude state change hacks.
5075
5076         * gst/gstutils.h:
5077         Remove crude hacks.
5078
5079         * tools/gst-launch.c: (main):
5080         Fixes for state change. Needs some more work to fully use the
5081         new stuff.
5082
5083 2005-10-10  Andy Wingo  <wingo@pobox.com>
5084
5085         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5086
5087         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5088         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5089         issue.
5090
5091 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5092
5093         * gst/gstiterator.c: (gst_iterator_new):
5094           Fix my previous commit: GTypes passed to gst_iterator_new()
5095           can be fundamental types.
5096
5097 2005-10-10  Wim Taymans  <wim@fluendo.com>
5098
5099         * gst/gstelement.c: (gst_element_iterate_pad_list),
5100         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5101         (gst_element_iterate_sink_pads):
5102         Use src/sink pads lists for the respective iterators instead
5103         of filtering.
5104
5105 2005-10-10  Andy Wingo  <wingo@pobox.com>
5106
5107         Merged in popt removal + GOption addition patch from Ronald, bug
5108         #169772.
5109
5110         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5111         GstElement macros around, remove popt-related symbols, add goption
5112         stuff.
5113
5114         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5115         
5116         * docs/gst/Makefile.am:
5117         * docs/libs/Makefile.am: No POPT_CFLAGS.
5118         
5119         * examples/manual/Makefile.am:
5120         * docs/manual/basics-init.xml: Doc updates with an example.
5121         
5122         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5123         (gst_init), (parse_one_option), (parse_goption_arg):
5124         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5125         bit of hand merging and debugging to get the GOption stuff working
5126         tho.
5127         
5128         * tests/Makefile.am:
5129         * tools/Makefile.am:
5130         * tools/gst-inspect.c: (main):
5131         * tools/gst-launch.c: (main):
5132         * tools/gst-run.c: (main):
5133         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5134
5135 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5136
5137         * gst/gstiterator.c: (gst_iterator_new):
5138           Add assertions to make sure passed GType is likely to really
5139           be a GType (as the compiler won't catch it if the size and
5140           GType arguments get mixed up, see #318447).
5141
5142 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5143
5144         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5145
5146         * gst/gstbin.c: (gst_bin_iterate_sorted):
5147           Pass GType and size arguments to gst_iterator_new() in the right
5148           order (maybe we should make _new() take the GType as first argument
5149           just like _new_list()?) (#318447).
5150           
5151
5152 2005-10-10  Wim Taymans  <wim@fluendo.com>
5153
5154         * gst/gstelement.c: (gst_element_finalize):
5155         And free the GStaticRecMutex too
5156
5157 2005-10-10  Andy Wingo  <wingo@pobox.com>
5158
5159         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5160         Allocate and free the mutex properly.
5161
5162         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5163         New macros.
5164         (GstElement): The state_lock is now recursive. Rebuild your
5165         plugins, suckers. Old macros adapted.
5166
5167         * docs/gst/gstreamer-sections.txt: Doc updates.
5168
5169         * gst/gstutils.h:
5170         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5171         (g_static_rec_cond_wait): Ported from state changes patch, while
5172         we wait on bug #317802 to be solved in a well-distributed GLib.
5173
5174         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5175         gst_element_change_state, variable name changes.
5176         (gst_element_change_state): Split out of gst_element_set_state in
5177         preparation for the state change merge. Doesn't pay attention to
5178         the 'transition' argument.
5179         (gst_element_set_state): Updates, hopefully purely cosmetic.
5180         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5181         state change patch.
5182         (gst_element_get_state_func): Renamed from get_state, cosmetic
5183         changes.
5184
5185 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5186
5187         * gst/elements/gstelements.c:
5188         * win32/GStreamer.vcproj:
5189         * win32/config.h:
5190         * win32/dirent.c: (_tseekdir):
5191         * win32/gst-inspect.vcproj:
5192         * win32/gst-launch.vcproj:
5193         * win32/gstconfig.h:
5194         * win32/gstelements.vcproj:
5195         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5196         * win32/gstreamer.def:
5197         * win32/msvc71.sln:
5198           updates for the win32 build (patch from Sebastien Moutte)
5199
5200 2005-10-10  Andy Wingo  <wingo@pobox.com>
5201
5202         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5203         gst_bin_get_state, cleaned up (but no logic changes).
5204         (bin_element_is_sink): Comment updates.
5205         (sink_iterator_filter): Remove needless cast.
5206         (gst_bin_iterate_sinks): Doc update.
5207         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5208         cleaned up (but no logic changes).
5209
5210         * check/states/sinks.c (test_src_sink): Cleanups from the state
5211         change patch.
5212         (test_livesrc_sink): Sync on the state.
5213
5214         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5215         the state change patch.
5216
5217         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5218         change patch.
5219
5220         * check/gst/gstbin.c: Merge in some style fixes and additional
5221         checks from Wim's state change patch.
5222
5223 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5224
5225         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5226         (gst_type_find_helper):
5227           Check whether we have the requested data already in our list of
5228           cached buffers before pulling a new buffer; also make the buffer
5229           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5230
5231 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5232
5233         * gst/gstcaps.c:
5234         * gst/gstevent.c:
5235           doc updates
5236         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5237           don't use long long, it's not portable.  Replacing with
5238           gint64 seems to work; let's hope no skeletons fall out of the closet.
5239
5240 2005-10-10  Andy Wingo  <wingo@pobox.com>
5241
5242         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5243
5244 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5245
5246         * docs/gst/gstreamer-sections.txt:
5247         * gst/gstevent.c:
5248         * gst/gstevent.h:
5249         * gst/gstinfo.c:
5250         * gst/gstinfo.h:
5251         * gst/gstmessage.c: (gst_message_parse_state_changed):
5252         * gst/gstpad.c:
5253         * gst/gstpad.h:
5254           more docs, fix compilation
5255
5256 2005-10-09  Philippe Khalaf <burger@speedy.org>
5257         * gst/gstmessage.c:
5258           Fixed a few forgotten variables on previous commit
5259
5260 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5261
5262         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5263           Fix evil typefind crasher: getrange() might return a short
5264           buffer at the end of a file, but gst_type_find_peek() must
5265           either return the full data as requested or NULL, but
5266           never a short buffer.
5267
5268 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5269
5270         * gst/gstmessage.c: (gst_message_new_state_changed),
5271         (gst_message_parse_state_changed):
5272         * gst/gstmessage.h:
5273           don't use "new", it's a C++ keyword
5274
5275 2005-10-08  Wim Taymans  <wim@fluendo.com>
5276
5277         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5278         * gst/gstelement.c: (gst_element_post_message):
5279         * gst/gstpipeline.c: (gst_pipeline_change_state):
5280         Small docs and debug updates.
5281
5282 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5283
5284         * docs/gst/gstreamer-sections.txt:
5285         * gst/gstelementfactory.c:
5286         * gst/gstevent.c:
5287         * gst/gsttaglist.c:
5288           more docs
5289
5290 2005-10-08  Wim Taymans  <wim@fluendo.com>
5291
5292         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5293         (gst_bin_dispose), (bin_bus_handler):
5294         Fix typos, add comments.
5295         Clear EOS list when going to PAUSED from any direction and do it
5296         in a threadsafe way.
5297         Get base time in a threadsafe way too.
5298         Fix confusing debug in the change_state function.
5299         Various other small cleanups.
5300         
5301         * gst/gstelement.c: (gst_element_post_message):
5302         Fix very verbose bus posting code.
5303
5304         * gst/gstpipeline.c: (gst_pipeline_class_init),
5305         (gst_pipeline_set_property), (gst_pipeline_get_property),
5306         (gst_pipeline_change_state):
5307         Small ARG_ -> PROP_ cleanup
5308
5309 2005-10-08  Wim Taymans  <wim@fluendo.com>
5310
5311         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5312         Do a less CPU demanding EOS check because we can.
5313
5314 2005-10-08  Wim Taymans  <wim@fluendo.com>
5315
5316         * libs/gst/dataprotocol/dataprotocol.c:
5317         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5318         (gst_dp_packet_from_event):
5319         * libs/gst/dataprotocol/dataprotocol.h:
5320         * libs/gst/dataprotocol/dp-private.h:
5321         It's about time we bump the version number.
5322         Since event types don't fit in the guint8 anymore describing
5323         the payload type, make payload type 16 bits wide.
5324
5325 2005-10-08  Wim Taymans  <wim@fluendo.com>
5326
5327         * docs/design/part-TODO.txt:
5328         * docs/design/part-clocks.txt:
5329         * docs/design/part-events.txt:
5330         * docs/design/part-gstbin.txt:
5331         * docs/design/part-gstelement.txt:
5332         * docs/design/part-gstpipeline.txt:
5333         * docs/design/part-live-source.txt:
5334         * docs/design/part-messages.txt:
5335         * docs/design/part-overview.txt:
5336         * docs/design/part-states.txt:
5337         Many doc updates.
5338
5339 2005-10-08  Wim Taymans  <wim@fluendo.com>
5340
5341         * gst/gstevent.c:
5342         * gst/gstevent.h:
5343         Fix event quark registration.
5344         Add some space between events so we can insert them in the
5345         right groups.
5346
5347 2005-10-08  Wim Taymans  <wim@fluendo.com>
5348
5349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5350         (gst_base_sink_handle_buffer):
5351         Better log message.
5352
5353         * gst/gstbus.h:
5354         * gst/gstelement.h:
5355         More docs.
5356
5357         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5358         (gst_queue_set_property), (gst_queue_get_property):
5359         * gst/gstqueue.h:
5360         Remove old unused properties.
5361
5362 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5363         * docs/gst/gstreamer-sections.txt:
5364         * gst/gstmessage.c:
5365         * gst/gstmessage.h:
5366         * gst/gstminiobject.c:
5367         * gst/gstminiobject.h:
5368         * gst/gstobject.h:
5369         * gst/gstpad.h:
5370         * gst/gstutils.h:
5371           lots of new docs and doc fixes
5372
5373 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5374
5375         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5376         * gst/gstplugin.h:
5377         * gst/gstregistry.c: (gst_registry_lookup_locked),
5378         (gst_registry_scan_path_level):
5379         * gst/gstregistryxml.c: (load_plugin):
5380           Only ever load one plugin for a given plugin basename.
5381           This ensures correct overriding of GST_PLUGIN_PATH over
5382           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5383           system installed plugins.
5384
5385 2005-10-08  Wim Taymans  <wim@fluendo.com>
5386
5387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5388         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5389         Prepare for doing QOS.
5390
5391 2005-10-08  Wim Taymans  <wim@fluendo.com>
5392
5393         * check/gst/gstbin.c: (GST_START_TEST):
5394         * check/pipelines/cleanup.c: (GST_START_TEST):
5395         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5396         Allow new clock message too.
5397
5398 2005-10-08  Wim Taymans  <wim@fluendo.com>
5399
5400         * gst/gstmessage.c: (gst_message_new_error),
5401         (gst_message_new_warning), (gst_message_new_tag),
5402         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5403         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5404         (gst_message_new_segment_start), (gst_message_new_segment_done),
5405         (gst_message_parse_state_changed),
5406         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5407         (gst_message_parse_new_clock):
5408         * gst/gstmessage.h:
5409         Also carry the clock in question.
5410
5411 2005-10-08  Wim Taymans  <wim@fluendo.com>
5412
5413         * gst/gstmessage.c: (gst_message_new_custom),
5414         (gst_message_new_eos), (gst_message_new_error),
5415         (gst_message_new_warning), (gst_message_new_tag),
5416         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5417         (gst_message_new_new_clock), (gst_message_new_segment_start),
5418         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5419         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5420         * gst/gstmessage.h:
5421         Clean up.
5422         Added clock related messages.
5423
5424         * gst/gstpipeline.c: (gst_pipeline_change_state):
5425         Post message when the clock changed.
5426
5427         * tools/gst-launch.c: (event_loop):
5428         Print new clock.
5429
5430 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5431
5432         * tools/gst-inspect.c: (print_element_properties_info):
5433           Can't pass NULL strings to g_print() on windows.
5434
5435 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5436
5437         * docs/Makefile.am:
5438         * docs/gst/Makefile.am:
5439         * docs/gst/gstreamer-docs.sgml:
5440         * docs/gst/running.xml:
5441         * docs/version.entities.in:
5442           add a chapter on running GStreamer.
5443           document GST_DEBUG and GST_PLUGIN* env vars
5444
5445 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5446
5447         * Makefile.am:
5448           remove include dir
5449         * configure.ac:
5450           remove PLUGINS_BUILDDIR stuff
5451         * gst/gst.c: (init_post):
5452           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5453         * idiottest.mak:
5454           remove, it was condescending and not needed
5455
5456 2005-10-08  Wim Taymans  <wim@fluendo.com>
5457
5458         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5459         (gst_base_sink_handle_object), (gst_base_sink_event),
5460         (gst_base_sink_wait), (gst_base_sink_handle_event),
5461         (gst_base_sink_change_state):
5462         * gst/base/gstbasesink.h:
5463         Repost EOS message while going to PLAYING if still EOS.
5464         Make sure that when receiving a FLUSH_START we don't attempt
5465         to sync on the clock anymore.
5466
5467 2005-10-08  Wim Taymans  <wim@fluendo.com>
5468
5469         * tools/gst-launch.c: (event_loop):
5470         Better message printout.
5471
5472 2005-10-08  Wim Taymans  <wim@fluendo.com>
5473
5474         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5475         (gst_bin_child_proxy_get_children_count):
5476         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5477         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5478         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5479         (gst_child_proxy_set_valist):
5480         * gst/parse/grammar.y:
5481         Make ChildProxy threadsafe and fix mem leaks.
5482
5483 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5484
5485         * gst/gst.c: (init_post):
5486           debug the GST_PLUGIN_ env vars
5487
5488 2005-10-08  Wim Taymans  <wim@fluendo.com>
5489
5490         * check/gst/gstbin.c: (GST_START_TEST):
5491         * check/gst/gstmessage.c: (GST_START_TEST):
5492         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5493         * gst/gstelement.c: (gst_element_commit_state),
5494         (gst_element_lost_state):
5495         * gst/gstmessage.c: (gst_message_new_state_changed),
5496         (gst_message_parse_state_changed):
5497         * gst/gstmessage.h:
5498         * tools/gst-launch.c: (event_loop):
5499         Added extra field to STATE_CHANGE message with the pending
5500         state, which will be different from the new state soon.
5501
5502 2005-10-08  Wim Taymans  <wim@fluendo.com>
5503
5504         * gst/gstbus.c: (gst_bus_pop):
5505         * gst/gstclock.c:
5506         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5507         Small cleanups and doc updates.
5508
5509 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * gst/gst.c: (init_pre):
5512         * gst/gstbin.c: (gst_bin_add_func):
5513           log distributing clocks and base time
5514         * gst/gstregistry.c: (gst_registry_add_plugin),
5515         (gst_registry_scan_path_level), (gst_registry_scan_path):
5516           clean up the debugging output a little
5517         * gst/gstutils.c: (gst_element_state_get_name):
5518           warn about a memleak (I've actually seen this be used, though
5519           it was probably a bug)
5520
5521 2005-10-07  Wim Taymans  <wim@fluendo.com>
5522
5523         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5524         (gst_base_src_init), (gst_base_src_default_newsegment),
5525         (gst_base_src_newsegment), (gst_base_src_do_seek),
5526         (gst_base_src_loop), (gst_base_src_start):
5527         * gst/base/gstbasesrc.h:
5528         Make the newsegment event customizable by subclasses.
5529
5530 2005-10-07  Wim Taymans  <wim@fluendo.com>
5531
5532         * gst/gstevent.c: (gst_event_new_buffersize),
5533         (gst_event_parse_buffersize):
5534         * gst/gstevent.h:
5535         New event for future idea.
5536
5537 2005-10-07  Andy Wingo  <wingo@pobox.com>
5538
5539         * gst/gstelement.c (gst_element_post_message): Doc update.
5540
5541         * docs/gst/gstreamer-sections.txt: Update.
5542
5543         * gst/gstmessage.c (gst_message_new_application): Made into a
5544         function like honest API calls.
5545         (gst_message_new_element): New message type.
5546
5547         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5548
5549         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5550         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5551         times.
5552
5553         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5554         NO_PREROLL from gst_element_change_state to fall through.
5555
5556 2005-10-07  Wim Taymans  <wim@fluendo.com>
5557
5558         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5559         (gst_ghost_pad_do_activate_push):
5560         Activating a ghostpad with no internal pad in push mode
5561         is ok.
5562
5563 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * gst/gstobject.h:
5566           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5567           Fixes compilation on Windows.
5568
5569 2005-10-07  Michael Smith <msmith@fluendo.com>
5570
5571         * tools/gst-inspect.c:
5572           Print out feature and plugin count at the end when printing out
5573           all features.
5574
5575 2005-10-04  Michael Smith <msmith@fluendo.com>
5576
5577         * gst/gsterror.c: (_gst_stream_errors_init):
5578           Add another error string used in a few existing plugins.
5579
5580         * gst/gstplugin.c:
5581         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5582         * tools/gst-inspect.c: (print_element_info):
5583           When a feature disappears from a plugin (and the feature exists in
5584           the cached registry file), things went horribly wrong. This isn't a
5585           complete fix, we should actually be removing the 'missing' features
5586           from the features list when we load the actual plugin. That's not
5587           yet implemented. 
5588
5589 2005-10-04  Johan Dahlin  <johan@gnome.org>
5590
5591         * check/gst/gstiterator.c: (GST_START_TEST):
5592         * gst/gstbin.c: (gst_bin_iterate_elements),
5593         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5594         * gst/gstelement.c: (gst_element_iterate_pads):
5595         * gst/gstformat.c: (gst_format_iterate_definitions):
5596         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5597         (gst_iterator_new_list), (gst_iterator_filter):
5598         * gst/gstiterator.h:
5599         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5600         Add a GType to GstIterator, update callsites and tests.
5601
5602 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5603
5604         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5605           give events a chance to be handled by event probes when the pad
5606           is not linked
5607
5608 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5609
5610         * gst/gstevent.c: (gst_event_type_get_name),
5611         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5612         * gst/gstevent.h:
5613           add string representations for event types
5614
5615 2005-10-06  Wim Taymans  <wim@fluendo.com>
5616
5617         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5618         Don't use NULL pointers.
5619
5620 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         * gst/gst_private.h:
5623         * gst/gstbus.c:
5624         * gst/gstelement.c:
5625         * gst/gstinfo.c:
5626         * gst/gstpluginfeature.c:
5627           widen the debug category in output to fit the biggest one we have
5628           add a bus category and use it
5629           play with the colors
5630           fix up some categories
5631
5632 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5633
5634         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5635           add push activation of sink ghost pads.
5636           Andye, please verify
5637
5638 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5639
5640         * gst/gstutils.c: (gst_element_link_pads):
5641           fix a bug in the case where neither element has a pad
5642         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5643           add a test for that case
5644
5645 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5648           emit have-data before checking for peers.  This allows
5649           for probe handlers to connect elements.  This helps autopluggers.
5650         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5651         (gst_pad_suite):
5652           add six checks, linked/unlinked with no/true/false probe
5653
5654 2005-10-04  Wim Taymans  <wim@fluendo.com>
5655
5656         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5657         (gst_fake_sink_event), (gst_fake_sink_preroll),
5658         (gst_fake_sink_render), (gst_fake_sink_change_state):
5659         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5660         (gst_fake_src_get_property), (gst_fake_src_create),
5661         (gst_fake_src_stop):
5662         * gst/elements/gstidentity.c: (gst_identity_stop):
5663         Protect last_message with lock.
5664
5665 2005-10-04  Edward Hervey  <edward@fluendo.com>
5666
5667         * gst/gstformat.h: 
5668         Added precision in the comments for GST_FORMAT_DEFAULT
5669
5670 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5671
5672         * tools/gst-launch.c: (main):
5673           Don't try to run erroneous pipelines.
5674
5675 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5676
5677         * gst/gstbus.c: We don't need this header.
5678
5679 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * configure.ac:
5682           back to development
5683
5684 === release 0.9.3 ===
5685
5686 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5687
5688         * README:
5689         * configure.ac:
5690           Releasing 0.9.3, "Unregistered"
5691
5692 2005-10-03  Andy Wingo  <wingo@pobox.com>
5693
5694         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5695         whereby calling a pad's activatepush() function can start a thread
5696         that starts to push or pull before the pad gets the FLUSHING flag
5697         unset. Hack around it by holding the stream lock until the flag is
5698         set. Need to replace this with a proper solution. Together with
5699         the ghost pad fixes, this fixes mp3 playing/tagreading.
5700
5701         * docs/design/part-gstghostpad.txt: Add a note about activation of
5702         proxy pads outside of ghost pads.
5703
5704         * gst/gstghostpad.c: Implement the ghost pad activation design.
5705
5706 2005-10-02  Andy Wingo  <wingo@pobox.com>
5707
5708         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5709         It is volatile, after all.
5710
5711         * docs/design/part-gstghostpad.txt: Flesh out activation with
5712         ghost pads.
5713
5714         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5715         GST_DEBUG_FUNCPTR.
5716
5717 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5718
5719         * configure.ac:
5720           Fix (unused) AM_CONDITIONAL tests.
5721
5722 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5723
5724         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5725
5726         * gst/gstutils.c: (gst_pad_query_convert):
5727           Add assertion that makes sure src_val is >=0, just like
5728           gst_query_new_convert() has. (#315895)
5729
5730 2005-09-30  Edward Hervey  <edward@fluendo.com>
5731
5732         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5733         Let's not iterate pads we're not interested in, it avoids getting 
5734         sky-high refcounts on sinkpad.
5735
5736 2005-09-30  Wim Taymans  <wim@fluendo.com>
5737
5738         * gst/gstelement.c: (gst_element_set_state),
5739         (gst_element_change_state):
5740         Small tweak, element in ASYNC remains ASYNC.
5741
5742 2005-09-30  Wim Taymans  <wim@fluendo.com>
5743
5744         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5745         Only error is an error.
5746
5747         * gst/gstbin.c: (gst_bin_change_state):
5748         Better debugging.
5749
5750         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5751         Also call pad_block in pad alloc.
5752
5753         * gst/gstutils.c: (gst_flow_get_name):
5754         Better debugging.
5755
5756 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5757
5758         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5759         (gst_base_src_get_range):
5760           Fix documentation typos. Add some more debug info.
5761
5762 2005-09-29  David Schleef  <ds@schleef.org>
5763
5764         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5765           more end-user friendly.
5766         * tools/gst-inspect.c: (main): Check if command-line argument is
5767           a file and attempt to load that file as a plugin.
5768
5769 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5770
5771         * check/gst/gstbin.c:
5772         * check/states/sinks.c:
5773           fix tests for the new warning
5774         * check/gst/gstpipeline.c:
5775           add a test for pipeline and bus interaction
5776         * gst/gstelement.c:
5777           elements should be NULL if they get disposed; add a warning if not
5778
5779 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5780
5781         * gst/gstobject.c:
5782           for 2.6 refcounting, make debug log more correct by printing
5783           the actual refcounts at the time of swap (Wim)
5784
5785 2005-09-29  Andy Wingo  <wingo@pobox.com>
5786
5787         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5788         removes signal watches previously added via
5789         gst_bus_add_signal_watch.
5790         (gst_bus_add_signal_watch): Don't return the source id, just store
5791         it on the bus if there wasn't an id already.
5792
5793         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5794         add_signal_watch and remove_signal_watch.
5795
5796 2005-09-29  Edward Hervey  <edward@fluendo.com>
5797
5798         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5799         Better if we actually iterate the list :)
5800
5801 2005-09-29  Wim Taymans  <wim@fluendo.com>
5802
5803         * check/gst/gstbin.c: (GST_START_TEST):
5804         Change for new bus API.
5805
5806         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5807         (send_messages), (GST_START_TEST), (gstbus_suite):
5808         Change for new bus signal API.
5809
5810         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5811         (gst_bus_source_prepare), (gst_bus_source_check),
5812         (gst_bus_create_watch), (gst_bus_add_watch_full),
5813         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5814         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5815         * gst/gstbus.h:
5816         Remove support for multiple GSources operating on different
5817         message types as it is too complex and unneeded when using
5818         signals.
5819         Added support for receiving signals from the bus.
5820
5821 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5822
5823         * docs/libs/tmpl/gstdataprotocol.sgml:
5824         * docs/manual/advanced-dataaccess.xml:
5825         * gst/elements/gstcapsfilter.c:
5826         * gst/gstutils.c:
5827           rename filter-caps to caps property
5828
5829 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5830
5831         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5832           More robust fraction string parsing.
5833
5834         * docs/pwg/appendix-porting.xml:
5835           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5836
5837 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5838
5839         * gst/gstcaps.c: (gst_caps_do_simplify):
5840           Thou shalt not free a structure and then continue using it
5841           in the next loop iteration.
5842
5843         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5844         (gst_caps_suite):
5845           Add test case for caps simplification.
5846
5847 2005-09-29  Wim Taymans  <wim@fluendo.com>
5848
5849         * check/gst/gstbin.c: (GST_START_TEST):
5850         Oops.
5851
5852 2005-09-29  Wim Taymans  <wim@fluendo.com>
5853
5854         * check/gst/gstbin.c: (GST_START_TEST):
5855         Add bus to bin.
5856
5857         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5858         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5859         (find_element), (gst_bin_sort_iterator_next),
5860         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5861         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5862         (gst_bin_change_state), (gst_bin_dispose):
5863         A bin does not have a bus, it gets the bus from the parent.
5864
5865         * gst/gstelement.c: (gst_element_requires_clock),
5866         (gst_element_provides_clock), (gst_element_is_indexable),
5867         (gst_element_is_locked_state), (gst_element_change_state),
5868         (gst_element_set_bus_func):
5869         Small cleanups.
5870
5871         * gst/gstpipeline.c: (gst_pipeline_class_init),
5872         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5873         The pipeline provides a bus.
5874
5875 2005-09-28  Johan Dahlin  <johan@gnome.org>
5876
5877         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5878         gst_structure_get_enum instead of gst_structure_get_int
5879
5880         * gst/gststructure.c (gst_structure_get_enum): Impl.
5881
5882         * gst/gststructure.h (gst_structure_get_enum): Add
5883
5884         * docs/gst/gstreamer-sections.txt: Ditto
5885
5886         * gst/gstmessage.c (gst_message_new_state_changed): Use
5887         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5888         which does introspection.
5889         Reviewed by Christian Schaller
5890
5891 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5892
5893         * gst/gstinfo.c: (gst_debug_log_default):
5894           don't do dummy g_strdup()s
5895         * libs/gst/controller/gstcontroller.c:
5896         (on_object_controlled_property_changed),
5897         (gst_controlled_property_new), (gst_controller_new_valist),
5898         (gst_controller_new_list),
5899         (gst_controller_remove_properties_valist), (gst_controller_set),
5900         (gst_controller_get), (gst_controller_sync_values),
5901         (gst_controller_get_value_array), (_gst_controller_class_init),
5902         (gst_controller_get_type):
5903         * libs/gst/controller/gstcontroller.h:
5904         * libs/gst/controller/gstinterpolation.c:
5905         (gst_controlled_property_find_timed_value_node):
5906           convert // to /**/ comments
5907
5908 2005-09-28  Wim Taymans  <wim@fluendo.com>
5909
5910         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5911         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5912         (gst_bus_sync_signal_handler):
5913         * gst/gstbus.h:
5914         Added async-message and sync-message signals to the bus.
5915         Added helper BusFunc to emit signals for all posted messages.
5916
5917         * gst/gstmessage.c: (gst_message_type_get_name),
5918         (gst_message_type_to_quark), (gst_message_get_type):
5919         * gst/gstmessage.h:
5920         Register quarks for message names.
5921
5922 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5923
5924         * docs/libs/gstreamer-libs-sections.txt:
5925         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5926         (gst_controller_new_list):
5927         * libs/gst/controller/gstcontroller.h:
5928           added another constructor for language bindings
5929
5930 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5931
5932         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5933           add another check
5934         * gst/gstbus.c:
5935           add some doc
5936         * gst/gstinfo.c: (_gst_debug_init):
5937           slightly more readable color for refcount debugging
5938
5939 2005-09-28  Wim Taymans  <wim@fluendo.com>
5940
5941         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5942         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5943         (find_element), (gst_bin_sort_iterator_next),
5944         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5945         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5946         (gst_bin_change_state), (gst_bin_dispose):
5947         Small doc fixes. get_clock -> provide_clock.
5948
5949         * gst/gstelement.c: (gst_element_class_init),
5950         (gst_element_provides_clock), (gst_element_provide_clock),
5951         (gst_element_get_clock), (gst_element_commit_state),
5952         (gst_element_lost_state):
5953         * gst/gstelement.h:
5954         Make get/set_clock() symetric. Add provide_clock vmethod since
5955         that is actually what this function does.
5956
5957         * gst/gstpipeline.c: (gst_pipeline_class_init),
5958         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5959         (gst_pipeline_get_clock):
5960         get_clock -> provide_clock.
5961
5962 2005-09-28  Andy Wingo  <wingo@pobox.com>
5963
5964         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5965         lieu of real docs...
5966
5967         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5968
5969 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5970
5971         * gst/elements/gstcapsfilter.c:
5972         * gst/elements/gstfakesink.c:
5973         * gst/elements/gstfakesrc.c:
5974         * gst/elements/gstfdsink.c:
5975         * gst/elements/gstfdsrc.c:
5976         * gst/elements/gstfilesink.c:
5977         * gst/elements/gstfilesrc.c:
5978         * gst/elements/gstidentity.c:
5979         * gst/elements/gsttee.c:
5980         * gst/elements/gsttypefindelement.c:
5981           Make element details static.
5982
5983 2005-09-28  Wim Taymans  <wim@fluendo.com>
5984
5985         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5986         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5987         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5988         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5989         (gst_bin_change_state), (gst_bin_dispose):
5990         Some documentation updates.
5991         Clean up dispose handlers.
5992
5993         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5994         * gst/gstpad.c: (gst_pad_dispose):
5995         Clean up dispose handler.
5996
5997         * gst/gstpipeline.c: (gst_pipeline_change_state):
5998         Removed spurious UNLOCK.
5999
6000 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6001
6002         * docs/gst/gstreamer-sections.txt:
6003         * gst/base/gstbasesrc.h:
6004         * gst/gstelement.h:
6005         * gst/gstevent.h:
6006         * gst/gstobject.h:
6007         * gst/gstpad.h:
6008         * gst/gstpipeline.c:
6009         * gst/gstpipeline.h:
6010         * gst/gstutils.h:
6011         * gst/gstxml.h:
6012           added two new functions to the docs
6013                 documents all undocumented GstXXXFlags
6014                 completed some incomplete docs 
6015
6016 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6017
6018         * gst/gstbin.c: (gst_bin_dispose):
6019         * gst/gstelement.c: (gst_element_dispose):
6020           remove now useless and leaky resurrection code in dispose
6021         * gst/base/gstbasesrc.c: (gst_base_src_init):
6022         * gst/gstelementfactory.c: (gst_element_factory_create):
6023         * gst/gstobject.c: (gst_object_set_parent):
6024           add some debugging
6025
6026 2005-09-27  Wim Taymans  <wim@fluendo.com>
6027
6028         * docs/design/part-TODO.txt:
6029         Update TODO.
6030
6031         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6032         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6033         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6034         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6035         (gst_bin_change_state):
6036         * gst/gstelement.h:
6037         Remove element variable, we keep element info in the iterator now.
6038
6039 2005-09-27  Andy Wingo  <wingo@pobox.com>
6040
6041         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6042         values.
6043
6044 2005-09-27  Wim Taymans  <wim@fluendo.com>
6045
6046         * check/gst/gstbin.c: (GST_START_TEST):
6047         Enable check that works now.
6048
6049         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6050         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6051         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6052         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6053         (gst_bin_change_state):
6054         * gst/gstbin.h:
6055         Redid the state change algorithm using a topological sort algo.
6056         Handles all cases correctly.
6057         Exposed iterator for state change order.
6058
6059         * gst/gstelement.h:
6060         Temp storage for state changes. Need to get rid of this soon.
6061
6062 2005-09-27  Wim Taymans  <wim@fluendo.com>
6063
6064         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6065         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6066         (link_fold_func), (gst_pad_proxy_setcaps):
6067         Leak fixes, the fold functions need to unref the passed object and
6068         _get_parent_*() returns ref to parent.
6069
6070 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6071
6072         * check/gst/gstbuffer.c: (test_make_writable):
6073           Plug leak in test case and fix 'make check-valgrind'
6074
6075 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6076
6077         * gst/gstbuffer.c: (gst_subbuffer_init):
6078           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6079           works correctly in all circumstances (we could have just copied
6080           the parent buffer's readonly flag, but conceptually it seems
6081           cleaner to mark all subbuffers as read-only). (based on patch
6082           by Alessandro Decina, #314710).
6083         
6084         * check/gst/gstbuffer.c: (create_read_only_buffer),
6085         (test_make_writable), (test_subbuffer_make_writable),
6086         (gst_test_suite):
6087           Add some tests for gst_buffer_make_writable().
6088
6089 2005-09-27  Wim Taymans  <wim@fluendo.com>
6090
6091         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6092         use gst_object_has_ancestor().
6093
6094         * gst/gstobject.c: (gst_object_has_ancestor):
6095         * gst/gstobject.h:
6096         gst_object_has_ancestor() copied from gstbin.c as it is a
6097         usefull function.
6098
6099         * tests/instantiate/create.c: (create_all_elements):
6100         * tests/lat.c: (handoff_src), (handoff_sink):
6101         * tests/sched/runxml.c: (main):
6102         * tests/seeking/seeking1.c: (main):
6103         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6104         (main):
6105         Fix compilation of some tests.
6106
6107 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6108
6109         * gst/gsterror.h:
6110           Remove comment. GST_TYPE_G_ERROR is here to stay,
6111           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6112           (#316961, #300610).
6113
6114 2005-09-26  Wim Taymans  <wim@fluendo.com>
6115
6116         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6117         Added check that shows error in state change order.
6118
6119 2005-09-26  Wim Taymans  <wim@fluendo.com>
6120
6121         * gst/gstbin.c: (gst_bin_change_state):
6122         Make state change function use 3 queues again, we were
6123         adding elements in the wrong order.
6124
6125         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6126         Some debug info,
6127
6128         * gst/gstpad.c: (gst_pad_dispose):
6129         Added some debug info first.
6130
6131 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6132
6133         * docs/design/draft-push-pull.txt:
6134         * docs/design/part-events.txt:
6135         * docs/design/part-overview.txt:
6136         * docs/design/part-scheduling.txt:
6137           Replace all _pull_region() with _pull_range()
6138           
6139 2005-09-26  Andy Wingo  <wingo@pobox.com>
6140
6141         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6142
6143         * check/gst-libs/controller.c: Update for controller api change.
6144
6145         * configure.ac: 
6146         * tests/Makefile.am:
6147         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6148         over by GLib bug 118439.
6149         
6150         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6151         routines to a function.
6152
6153         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6154
6155         * libs/gst/controller/gsthelper.c:
6156         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6157         (gst_object_sync_values): Renamed from sink_values. Ugh.
6158
6159         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6160
6161         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6162         Renamed from controller_key, as it is exported.
6163
6164         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6165
6166 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6167
6168         * gst/Makefile.am:
6169         * gst/gst.h:
6170         * gst/gstpad.h:
6171         * gst/gstpadtemplate.h:
6172         * gst/gstquery.c:
6173         * gst/gstquery.h:
6174         * gst/gstqueryutils.c:
6175         * gst/gstqueryutils.h:
6176           remove queryutils headers after moving the two used functions
6177           to gstquery.  also fixes build problem for gstsiddec
6178
6179 2005-09-26  Michael Smith <msmith@fluendo.com>
6180
6181         * tools/gst-launch.1.in:
6182         Correct documentation in manpage of debug syntax
6183
6184 2005-09-26  Wim Taymans  <wim@fluendo.com>
6185
6186         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6187         (gst_base_src_is_seekable), (gst_base_src_change_state):
6188         Some more debugging info.
6189
6190 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6191
6192         * docs/gst/gstreamer-sections.txt:
6193         * gst/base/gstbasetransform.h:
6194         * gst/gstindex.h:
6195           added more docs
6196
6197 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6198
6199         * docs/gst/.cvsignore:
6200         * docs/gst/tmpl/.cvsignore:
6201         * docs/gst/tmpl/gstpipeline.sgml:
6202         * docs/gst/tmpl/gstplugin.sgml:
6203         * gst/gstpipeline.c:
6204         * gst/gstplugin.c:
6205         * gst/gstplugin.h:
6206           inlined the last two docs files
6207           removed the tmpl directory from cvs (no more conflicts here!)
6208
6209 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6210
6211         * docs/gst/gstreamer-sections.txt:
6212         * docs/gst/tmpl/.cvsignore:
6213         * docs/gst/tmpl/gstpad.sgml:
6214         * docs/gst/tmpl/gstpadtemplate.sgml:
6215         * gst/Makefile.am:
6216         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6217         (gst_pad_finalize), (gst_pad_set_pad_template):
6218         * gst/gstpad.h:
6219         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6220         (gst_pad_template_class_init), (gst_pad_template_init),
6221         (gst_pad_template_dispose), (name_is_valid),
6222         (gst_static_pad_template_get), (gst_pad_template_new),
6223         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6224         (gst_pad_template_pad_created):
6225         * gst/gstpadtemplate.h:
6226           inlined two more docs
6227           factored gstpadtemplate out of gstpad
6228
6229 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6230
6231         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6232         (test_children_state_change_order_semi_sink):
6233           Fix test case: we can't rely on a fixed state change order when
6234           going from READY => PAUSED because the sink might commit its 
6235           new state first when the first buffer created by the source 
6236           reaches the sink before the source has finished its change state.
6237           (Test case still fails at times, see #316856, comment 5 onwards)
6238
6239 2005-09-24  Wim Taymans  <wim@fluendo.com>
6240
6241         * docs/design/part-events.txt:
6242         * docs/design/part-gstbus.txt:
6243         * docs/design/part-gstpipeline.txt:
6244         * docs/design/part-messages.txt:
6245         * docs/design/part-overview.txt:
6246         * docs/design/part-segments.txt:
6247         * gst/gstbin.c:
6248         * gst/gstbuffer.c:
6249         * gst/gstclock.c:
6250         * gst/gstelement.c:
6251         * gst/gstevent.c:
6252         * gst/gstfilter.c:
6253         * gst/gstiterator.c:
6254         Various documentation updates.
6255
6256 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6257
6258         * gst/gstclock.h:
6259           Well, that's embarassing.  Luckily we weren't using
6260           GST_CLOCK_DIFF anywhere.
6261
6262 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6263
6264         * common/gtk-doc.mak:
6265           don't fail on building XML, FC4 slave shows a bunch of doc
6266           missing bits that I don't get
6267         * gst/gstpad.c:
6268         * gst/gstpipeline.c:
6269         * gst/gststructure.c:
6270           some doc updates
6271
6272 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6273
6274         * docs/design/part-gstbin.txt:
6275         * docs/design/part-gstbus.txt:
6276         * gst/gstbus.c:
6277           Add blurb about how the bus goes into flushing mode and
6278           drops all messages when its bin goes from READY into NULL 
6279           state.
6280
6281 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6282
6283         * docs/gst/gstreamer-sections.txt:
6284         * gst/gststructure.c: (gst_structure_get_clock_time):
6285         * gst/gststructure.h:
6286           add a method to get a GstClockTime out of a structure
6287
6288 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6289
6290         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6291         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6292           Added test to check state change order in bins (can still be made
6293           to fail here under heavy disk load; bails out with 'Push on pad
6294           fakesink:sink0, but it was not activated in push mode').
6295
6296         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6297           Fix state change order when there is only a semi sink (#316856)
6298
6299         * gst/gstbus.c: (gst_bus_class_init):
6300           Use _class_peek_parent(), not _class_ref(); fix docs to say
6301           'default main context' instead of 'mainloop' where that is
6302           what's meant.
6303
6304         * gst/gstelement.c: (gst_element_commit_state),
6305         (gst_element_set_state):
6306           Fix typos in debug messages
6307
6308 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6309
6310         * docs/README:
6311         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6312         * gst/gstpluginfeature.c:
6313         * gst/gstutils.c:
6314           various doc updates
6315         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6316           change an assert into an error until it gets fixed properly
6317
6318 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6319
6320         * docs/gst/gstreamer-sections.txt:
6321         * docs/gst/tmpl/.cvsignore:
6322         * docs/gst/tmpl/gstelement.sgml:
6323         * docs/gst/tmpl/gstinfo.sgml:
6324         * docs/gst/tmpl/gstobject.sgml:
6325         * gst/gstelement.c:
6326         * gst/gstelement.h:
6327         * gst/gstinfo.c:
6328         * gst/gstinfo.h:
6329         * gst/gstobject.c: (gst_object_class_init):
6330         * gst/gstobject.h:
6331           inlined 3 more biiiig doc files and added some missing docs on the fly
6332
6333 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6334
6335         * check/gst/.cvsignore:
6336         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6337         * gst/gstregistryxml.c: (load_plugin),
6338         (gst_registry_xml_save_plugin):
6339           put back source in registry.  add checks for find_plugin.
6340         * testsuite/states/bin.c: (assert_state), (empty_bin),
6341         (test_adding_one_element), (main):
6342         * testsuite/states/locked.c: (main):
6343           some compile/run fixes
6344
6345 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6346
6347         * check/gst/gstvalue.c: (GST_START_TEST):
6348           fix leaks in the test itself
6349
6350 2005-09-22  Wim Taymans  <wim@fluendo.com>
6351
6352         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6353         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6354         (gst_base_sink_query):
6355         Prepare for more accurate position reporting and query
6356         handling.
6357
6358         * gst/gstelement.c: (gst_element_send_event),
6359         (gst_element_set_state):
6360         Add some comment.
6361
6362 2005-09-22  Wim Taymans  <wim@fluendo.com>
6363
6364         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6365         (gst_query_parse_segment):
6366         * gst/gstquery.h:
6367         More documentation.
6368         Add segment query for future use.
6369
6370 2005-09-22  Wim Taymans  <wim@fluendo.com>
6371
6372         * gst/gstbin.c: (gst_bin_add_func):
6373         Some more debug info.
6374
6375         * gst/gstelement.c: (gst_element_send_event):
6376         Simplify send_event
6377
6378         * gst/gstelement.h:
6379         Don't know how flags got broken.
6380
6381         * gst/gstquery.h:
6382         Added new query.
6383
6384 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6385
6386         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6387           Add simplistic test suite for GST_TYPE_DATE serialisation and
6388           deserialisation.
6389
6390 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6391
6392         * docs/gst/gstreamer-sections.txt:
6393         * gst/gststructure.c: (gst_structure_set_valist),
6394         (gst_structure_get_date):
6395         * gst/gststructure.h:
6396         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6397         (gst_date_copy), (gst_value_compare_date),
6398         (gst_value_serialize_date), (gst_value_deserialize_date),
6399         (gst_value_transform_date_string),
6400         (gst_value_transform_string_date), (_gst_value_initialize):
6401         * gst/gstvalue.h:
6402           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6403           bunch of utility functions along with a hack that checks that
6404           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6405           is required. Part of the grand scheme in #170777.
6406
6407 2005-09-22  Andy Wingo  <wingo@pobox.com>
6408
6409         * gst/gstconfig.h.in: Psych out gtk-doc.
6410
6411         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6412
6413         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6414
6415         * tools/gst-inspect.c (print_element_list): Plug some
6416         inconsequential leaks.
6417
6418         * gst/gstregistry.c (gst_registry_get_default): Doc.
6419
6420         * check/gst/gstplugin.c: 
6421         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6422         * gst/gstelementfactory.c (gst_element_factory_create): 
6423         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6424         refcount changes.
6425
6426         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6427         (gst_plugin_feature_load): Doc, don't eat refs.
6428
6429         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6430         (gst_plugin_list_free): Doc.
6431         (gst_plugin_load_file): Doc updates.
6432
6433         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6434         accessors returning refcounted objects, return a ref.
6435
6436         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6437         accessor for caps. IDEMPOTENCE. Oh yes.
6438
6439 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6440
6441         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6442
6443         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6444         (_gst_debug_register_funcptr):
6445           Add mutex to serialise access to the hash table with
6446           the function pointer => function name string mapping;
6447           make that hash table static scope (#316809).
6448
6449         * gst/registries/.cvsignore:
6450           Remove left-over file.
6451
6452 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6453
6454         * docs/pwg/appendix-porting.xml:
6455           And something about newsegment events and caps-on-buffers to
6456           the porting guide (feel free to improve).
6457
6458 2005-09-21  Andy Wingo  <wingo@pobox.com>
6459
6460         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6461         data and event probes on the same pad.
6462         (test_buffer_probe_once): Test that removing probes from within
6463         the probe functions works.
6464
6465 2005-09-21  Andy Wingo  <wingo@pobox.com>
6466
6467         * check/gst/gstutils.c: New file.
6468         (test_buffer_probe_n_times): A simple buffer probe test. More to
6469         come, foolios.
6470
6471         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6472         have-data::buffer, not have-data.
6473         (gst_pad_add_event_probe): Likewise for have-data::event.
6474         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6475         peer' isn't quite right yet though.
6476         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6477         (gst_pad_remove_data_probe): Change to take the guint handler_id
6478         as their arg, not the function+data, which is more glib-like.
6479
6480         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6481         the signal emission to indicate if the data is a buffer or an
6482         event.
6483         (gst_pad_get_type): Initialize buffer and event quarks.
6484         (gst_pad_class_init): have-data is now a detailed signal, yes it
6485         is.
6486
6487 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6490         * gst/gstutils.c: (gst_util_set_value_from_string),
6491         (gst_util_set_object_arg):
6492           Don't put functional code in g_return_if_fail() or
6493           g_return_val_if_fail() statements, otherwise things will 
6494           break when G_DISABLE_CHECKS is defined during compilation.
6495
6496 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6497
6498         * docs/gst/tmpl/.cvsignore:
6499         * docs/gst/tmpl/gstvalue.sgml:
6500         * gst/gstvalue.c:
6501         * gst/gstvalue.h:
6502           inlied another one and added  some obvious docs
6503
6504 2005-09-21  Wim Taymans  <wim@fluendo.com>
6505
6506         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6507         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6508         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6509         (gst_fdsrc_get_property), (gst_fdsrc_create):
6510         * gst/elements/gstfdsrc.h:
6511         Properly implement fdsrc. Removed signal and timeout,
6512         better implemented somewhere else.
6513
6514 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6515
6516         * docs/gst/tmpl/.cvsignore:
6517         * docs/gst/tmpl/gstimplementsinterface.sgml:
6518         * gst/gstinterface.c:
6519           inlined more docs
6520
6521 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6522
6523         * docs/gst/gstreamer-sections.txt:
6524         * docs/gst/tmpl/.cvsignore:
6525         * docs/gst/tmpl/gstenumtypes.sgml:
6526           remove obsolete doc file
6527
6528 2005-09-21  David Schleef  <ds@schleef.org>
6529
6530         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6531         little beer, fix a little leak.
6532
6533 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6534
6535         * docs/gst/gstreamer-docs.sgml:
6536         * docs/gst/gstreamer-sections.txt:
6537         * docs/gst/tmpl/.cvsignore:
6538         * gst/Makefile.am:
6539         * gst/gst.h:
6540         * gst/gstbin.c:
6541         * gst/gstelement.h:
6542         * gst/gstindex.c: (gst_index_class_init):
6543         * gst/gstindex.h:
6544         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6545         (gst_index_factory_class_init), (gst_index_factory_init),
6546         (gst_index_factory_finalize), (gst_index_factory_new),
6547         (gst_index_factory_destroy), (gst_index_factory_find),
6548         (gst_index_factory_create), (gst_index_factory_make):
6549         * gst/gstindexfactory.h:
6550         * gst/gstpluginfeature.c:
6551         * gst/gstpluginfeature.h:
6552         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6553           more docs inlined, splitted gstindex.{c,h}
6554
6555 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6556
6557         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6558           fix a leak
6559
6560 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6561
6562         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6563           Set sync to FALSE by default.
6564
6565 2005-09-20  Wim Taymans  <wim@fluendo.com>
6566
6567         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6568         (gst_base_sink_init):
6569         Make sync property settable from subclass.
6570
6571         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6572         (gst_fake_sink_change_state):
6573         Set sync to FALSE by default.
6574
6575 2005-09-20  Wim Taymans  <wim@fluendo.com>
6576
6577         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6578         * tools/gst-launch.c: (main):
6579         The timeout handler should have lower priority than the source
6580         so we don't timeout before popping a message with 0 timeout.
6581         Dump error messages after failed state change.
6582
6583 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6584
6585         * tools/gst-inspect.c: (print_element_properties_info):
6586           Fix two typos.
6587
6588 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6589
6590         * check/gst/gstevent.c:
6591         * gst/elements/gstfakesink.c:
6592         * gst/elements/gstfakesink.h:
6593           remove the sync property from fakesink.
6594           has the side effect of setting sync TRUE
6595           for fakesink, which is a change.  Anyone who knows how
6596           to fix this nicely in a GObject-y way, feel free.
6597
6598 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6599
6600         * docs/gst/gstreamer-docs.sgml:
6601           remove probe refsection
6602
6603 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6604
6605         * check/Makefile.am:
6606           disable valgrinding the controller test again
6607         * docs/gst/gstreamer-sections.txt:
6608           update for api-changes
6609
6610 2005-09-20  Wim Taymans  <wim@fluendo.com>
6611
6612         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6613         (gst_base_sink_set_property), (gst_base_sink_get_property),
6614         (gst_base_sink_do_sync):
6615         * gst/base/gstbasesink.h:
6616         Added sync property to basesink to disable clock sync.
6617
6618 2005-09-20  Andy Wingo  <wingo@pobox.com>
6619
6620         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6621         eating the caller's refcount.
6622
6623         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6624         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6625         refcount.
6626
6627         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6628         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6629         of GLib 2.8 public, so we can know which refcount to check in
6630         tests.
6631
6632         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6633         (gst_object_init): Only set the gst refcount if we're going ahead
6634         with the refcount hack.
6635
6636 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6637
6638         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6639         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6640           more leaks plumbed, added more debug-logging
6641         * gst/gstmacros.h:
6642           whitespace fix
6643
6644 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6645
6646         * gst/gstmessage.c:
6647           remove include of gstmemchunk.h
6648
6649 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6650
6651         * gst/gstclock.c: (_gst_clock_id_free):
6652           Commit from the Political Party For More Atomic CVS Commits,
6653           so that people don't waste too much of their day fishing
6654           out obvious leaks out of massive commits.
6655           Oh, and fix a pretty damn obvious leak in the memchunk
6656           removal code.
6657
6658 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6659
6660         * check/Makefile.am:
6661         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6662           plug mem-leak, re-add to valgrindable tests
6663
6664 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6665
6666         * gst/gstplugin.h:
6667           unbreak the build for those who have chronic arthritis
6668           and typing "make check" is just too taxing on the hands
6669
6670 2005-09-20  Andy Wingo  <wingo@pobox.com>
6671
6672         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6673         really want it out, you should fix plugins at the same time.
6674
6675 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6676
6677         * configure.ac:
6678         * docs/gst/gstreamer-sections.txt:
6679         * gst/gstobject.c:
6680           added missing symbols to api docs
6681           disable ref-count hack if we have glib >= 2.8
6682
6683 2005-09-19  David Schleef  <ds@schleef.org>
6684
6685         * docs/gst/Makefile.am: Ignore a few more internal headers
6686         * docs/gst/gstreamer-docs.sgml: Remove old sections
6687         * docs/gst/gstreamer-sections.txt: Remove old sections
6688         * docs/gst/tmpl/gstobject.sgml: update
6689         * docs/gst/tmpl/gstplugin.sgml: update
6690         * docs/gst/tmpl/gstpluginfeature.sgml: update
6691         * docs/random/ds/0.9-suggested-changes: update.
6692         * gst/Makefile.am: remove memchunk and trashstack, since they're
6693           not used.
6694         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6695         * gst/gst.h: don't include some headers
6696         * gst/gstchildproxy.c: add gstmarshal.h
6697         * gst/gstclock.c: Don't use memchunks
6698         * gst/gstminiobject.c: Add some docs
6699         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6700         * gst/gstobject.h: same
6701         * gst/gstplugin.c: include gstmacros.h
6702         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6703         * gst/gstquery.c: don't use memchunks
6704         * gst/gstregistry.c: rename gst_registry_deinit()
6705         * gst/gstregistry.h: same
6706
6707 2005-09-19  David Schleef  <ds@schleef.org>
6708
6709         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6710         * docs/libs/gstreamer-libs-sections.txt:
6711         * docs/libs/tmpl/gstgetbits.sgml:
6712         * docs/libs/tmpl/gstputbits.sgml:
6713
6714 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6715
6716         * win32/gstenumtypes.c:
6717         * win32/gstenumtypes.h:
6718           Update.
6719
6720 2005-09-19  Wim Taymans  <wim@fluendo.com>
6721
6722         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6723         Automatically PAUSE and RESUME a pipeline when a flushing seek
6724         is performed.
6725
6726 2005-09-19  Andy Wingo  <wingo@pobox.com>
6727
6728         * gst/gstregistry.h: Spacing fixen.
6729
6730 2005-09-19  Wim Taymans  <wim@fluendo.com>
6731
6732         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6733         Handle state change failure more correctly.
6734
6735 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6736
6737         * check/Makefile.am:
6738         * check/pipelines/cleanup.c: (run_pipeline):
6739         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6740         (GST_START_TEST):
6741           enable cleanup again after fixing the leak
6742         * docs/README:
6743           some more info on docs
6744
6745 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6746
6747         * check/Makefile.am:
6748           re-enable tests now that leaks are plugged
6749         * check/gst/gst.c:
6750         * check/gst/gstbin.c:
6751         * check/gst/gstpipeline.c:
6752           add some more tests while fixing leaks
6753         * common/check.mak:
6754           make sure binaries are uptodate when valgrinding/gdbing
6755         * gst/gst.c:
6756         * gst/gstelementfactory.c:
6757           remove a ref too many, and add a FIXME for when we get
6758           round to disposing of classes
6759         * gst/gstplugin.c:
6760           fix the refcounting when loading a plugin from a file and
6761           the code pretends that the pointer is the same even though
6762           of course it can change
6763         * gst/gstpluginfeature.c:
6764           unref plugins marked cached (a bit confusing as a name)
6765           as the docs state should be done
6766           various doc additions to explain refcounting
6767         * gst/gstregistry.c:
6768         * gst/gstregistryxml.c:
6769           debugging
6770
6771 2005-09-19  Wim Taymans  <wim@fluendo.com>
6772
6773         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6774         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6775         (send_messages), (GST_START_TEST), (gstbus_suite):
6776         * check/gst/gstpipeline.c: (GST_START_TEST):
6777         * check/pipelines/cleanup.c: (run_pipeline):
6778         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6779         (GST_START_TEST):
6780         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6781         (gst_bus_source_check), (gst_bus_source_dispatch),
6782         (gst_bus_create_watch), (gst_bus_add_watch_full),
6783         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6784         * gst/gstbus.h:
6785         * tools/gst-launch.c: (event_loop):
6786         * tools/gst-md5sum.c: (event_loop):
6787         GstBusHandler -> GstBusFunc, return value has the same meaning as
6788         any other GSource (FALSE == remove source).
6789         _add_watch() and _add_watch_full() now take a MessageType mask to
6790         only handle specific types of messages.
6791         _poll() returns the GstMessage instead of the message type to avoid
6792         race conditions.
6793         _have_pending() takes a MessageType mask now too.
6794         Added testsuite for multiple bus watches.
6795         Fix testsuites and applications for new bus API.
6796
6797 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6798
6799         * check/Makefile.am:
6800           mark a bunch of the tests as to fix until we fix them
6801
6802 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * common/check.mak:
6805           use GST_PLUGIN settings for valgrind tests as well, so we're
6806           valgrinding the correct thing
6807         * gst/gst.c: (init_post):
6808           plug another leak
6809
6810 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * gst/gst.c: (init_post), (gst_deinit):
6813         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6814         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6815         * gst/gstindex.c: (gst_index_factory_class_init),
6816         (gst_index_factory_finalize):
6817         * gst/gstobject.c: (gst_object_dispose):
6818         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6819         (gst_plugin_load_file), (gst_plugin_desc_free):
6820         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6821         (gst_plugin_feature_finalize):
6822         * gst/gstregistry.c: (gst_registry_class_init),
6823         (gst_registry_init), (gst_registry_finalize),
6824         (gst_registry_get_default), (gst_registry_deinit):
6825         * gst/gstregistry.h:
6826         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6827           various cleanups and memleak plugging.  make valgrind is happy now.
6828
6829 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6830
6831         * common/check.mak:
6832           add a check-valgrind target
6833
6834 2005-09-18  David Schleef  <ds@schleef.org>
6835
6836         * tools/gst-inspect.c: Revert the GOption code.
6837
6838 2005-09-17  David Schleef  <ds@schleef.org>
6839
6840         * check/Makefile.am: Fix environment variables.
6841         * check/gst/gstplugin.c: Fix for API changes.
6842         * tools/gst-inspect.c: Fix for API changes.
6843         * tools/gst-xmlinspect.c: Fix for API changes.
6844         * gst/gstelementfactory.c:
6845         * gst/gstplugin.c:
6846         * gst/gstplugin.h:
6847         * gst/gstpluginfeature.c:
6848         * gst/gstpluginfeature.h:
6849         * gst/gstregistry.c:
6850         * gst/gstregistry.h:
6851         * gst/gstregistryxml.c:
6852         * gst/gsttypefind.c:
6853         * gst/gsttypefindfactory.c:
6854         * gst/indexers/gstfileindex.c:
6855         * gst/indexers/gstmemindex.c:
6856         * gst/schedulers/Makefile.am:
6857           Change registry to keep track of both plugins and features,
6858           removing the feature tracking from plugins themselves.
6859
6860 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6861
6862         * check/Makefile.am:
6863         * tools/gst-register.1.in:
6864           remove gst-register
6865
6866 2005-09-15  David Schleef  <ds@schleef.org>
6867
6868         * check/gst/gstplugin.c:
6869         * gst/gstelementfactory.c:
6870         * gst/gstplugin.c:
6871         * gst/gstpluginfeature.c:
6872         * gst/gstregistry.c:
6873           Getting tired of debugging.  Disabled all the unreffing of
6874           plugins and features, which fixes the segfaults, but of
6875           course leaks like crazy.  At least playbin works.
6876
6877 2005-09-15  David Schleef  <ds@schleef.org>
6878
6879         * check/gst/gstplugin.c: (register_check_elements),
6880         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6881         More testing
6882         * gst/elements/gsttypefindelement.c: Fix refcounting.
6883         * gst/gsttypefind.c:
6884         * gst/gsttypefindfactory.c:
6885         * gst/gsttypefindfactory.h:
6886
6887 2005-09-15  David Schleef  <ds@schleef.org>
6888
6889         * gst/gstindex.c: get refcounting correct.
6890         * gst/gstregistry.c: Handle the case where a feature/plugin is
6891           not found.
6892
6893 2005-09-15  David Schleef  <ds@schleef.org>
6894
6895         * check/Makefile.am:
6896         * check/gst/gstplugin.c: Add test
6897         * gst/gstplugin.c: Fix problems noticed by testsuite
6898         * gst/gstplugin.h:
6899         * gst/gstregistry.c: 
6900         * gst/gstregistry.h:
6901
6902 2005-09-15  David Schleef  <ds@schleef.org>
6903
6904         * gst/gstplugin.c: Implement semi-decent recounting and locking
6905           in plugins and plugin features.
6906         * gst/gstplugin.h:
6907         * gst/gstpluginfeature.c:
6908         * gst/gstpluginfeature.h:
6909         * gst/gstregistry.c:
6910
6911 2005-09-15  Michael Smith <msmith@fluendo.com>
6912
6913         * gst/gstregistry.c: (gst_registry_get_feature_list):
6914           Implement this. Makes oggdemux work; decodebin still broken.
6915
6916 2005-09-14  David Schleef  <ds@schleef.org>
6917
6918         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6919           #316076)
6920         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6921         * gst/check/Makefile.am:
6922         * libs/gst/controller/Makefile.am:
6923         * libs/gst/dataprotocol/Makefile.am:
6924
6925 2005-09-14  David Schleef  <ds@schleef.org>
6926
6927         * configure.ac: Remove getbits library.  Nothing uses it, and
6928           it should be in something like liboil if someone did want
6929           to use it.
6930         * libs/gst/Makefile.am:
6931         * libs/gst/getbits/Makefile.am:
6932         * libs/gst/getbits/gbtest.c:
6933         * libs/gst/getbits/getbits.c:
6934         * libs/gst/getbits/getbits.h:
6935         * libs/gst/getbits/gstgetbits_generic.c:
6936         * libs/gst/getbits/gstgetbits_i386.s:
6937         * libs/gst/getbits/gstgetbits_inl.h:
6938
6939 2005-09-14  David Schleef  <ds@schleef.org>
6940
6941         * gst/Makefile.am: Dist glib-compat.h
6942
6943 2005-09-14  David Schleef  <ds@schleef.org>
6944
6945         * configure.ac: Remove gst/registries, since it's no longer used.
6946         * gst/registries/Makefile.am:
6947         * gst/registries/gstlibxmlregistry.c:
6948         * gst/registries/gstlibxmlregistry.h:
6949         * gst/registries/gstxmlregistry.c:
6950         * gst/registries/gstxmlregistry.h:
6951         * gst/registries/registrytest.c:
6952
6953 2005-09-14  David Schleef  <ds@schleef.org>
6954
6955         * gst/glib-compat.h:
6956         * gst/gstregistryxml.c:
6957           Convergence is near.  Seriously.
6958
6959 2005-09-14  David Schleef  <ds@schleef.org>
6960
6961         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6962         * gst/glib-compat.h:
6963           Attempt #4 to appease the buildbots.
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 #3.
6969
6970 2005-09-14  David Schleef  <ds@schleef.org>
6971
6972         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6973         Attempt #2.
6974
6975 2005-09-14  David Schleef  <ds@schleef.org>
6976
6977         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6978           the new functions.
6979
6980 2005-09-14  David Schleef  <ds@schleef.org>
6981
6982         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6983         * gst/glib-compat.h: Add some functions that are in newer versions
6984           of glib than we care to require.
6985         * gst/gstregistryxml.c: Use them.
6986
6987 2005-09-14  David Schleef  <ds@schleef.org>
6988
6989         * po/POTFILES.in: remove gst-register.c
6990
6991 2005-09-14  David Schleef  <ds@schleef.org>
6992
6993         * docs/gst/gstreamer-docs.sgml:
6994         * docs/gst/gstreamer-sections.txt:
6995         * docs/gst/gstreamer.types:
6996         * docs/gst/tmpl/gstelement.sgml:
6997         * docs/gst/tmpl/gstplugin.sgml:
6998         * docs/gst/tmpl/gstpluginfeature.sgml:
6999           Documentation updates for registry changes.
7000
7001 2005-09-14  David Schleef  <ds@schleef.org>
7002
7003         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7004           because we don't require glib-2.8.
7005
7006 2005-09-14  David Schleef  <ds@schleef.org>
7007
7008         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7009           registries directory.
7010
7011 2005-09-14  David Schleef  <ds@schleef.org>
7012
7013         * check/Makefile.am:
7014         * check/generic/states.c:
7015         * gst/Makefile.am:
7016         * gst/gst.c:
7017         * gst/gst.h:
7018         * gst/gst_private.h:
7019         * gst/gstelementfactory.c:
7020         * gst/gstindex.c:
7021         * gst/gstinfo.c:
7022         * gst/gstplugin.c:
7023         * gst/gstplugin.h:
7024         * gst/gstpluginfeature.c:
7025         * gst/gstpluginfeature.h:
7026         * gst/gstregistry.c:
7027         * gst/gstregistry.h:
7028         * gst/gstregistrypool.c: remove
7029         * gst/gstregistrypool.h: remove
7030         * gst/gsttypefind.c:
7031         * gst/gsttypefindfactory.c:
7032         * gst/gsturi.c:
7033         * tools/Makefile.am:
7034         * tools/gst-compprep.c:
7035         * tools/gst-inspect.c:
7036         * tools/gst-register.c: remove
7037         * tools/gst-xmlinspect.c:
7038           Registry rewrite.  Changes registry from being a file created
7039           by a tool into a simple cache file created automatically by 
7040           libgstreamer.  Removed gst-register (because it's no longer
7041           needed).  Remove registry pools, because we only have one
7042           registry implementation (XML).  Fix up other subsystems as
7043           necessary.
7044
7045 2005-09-13  Michael Smith <msmith@fluendo.com>
7046
7047         * gst/gstconfig.h.in:
7048           Don't Use windows linking attributes for MinGW. Fixes #316157
7049
7050 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7051
7052         * gst/gstutils.c: (set_state_async_thread_func),
7053         (gst_element_set_state_async):
7054           Apparently people think it's better if this function doesn't
7055           try to set the state to whatever state was asked for on the first
7056           call to this function for any object.  Seriously.
7057
7058 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7059
7060         * check/gst/gstpipeline.c: (GST_START_TEST):
7061         * docs/gst/gstreamer-sections.txt:
7062         * gst/gstutils.c: (set_state_async_thread_func),
7063         (gst_element_set_state_async):
7064         * gst/gstutils.h:
7065           add a "gst_element_set_state_async" method that
7066           sets the state and starts a thread to make sure the state
7067           change completes as best as it can
7068
7069 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7072           codify design+behaviour in testsuite after discussion
7073
7074 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7075
7076         * docs/gst/tmpl/gstelement.sgml:
7077         * docs/manual/appendix-quotes.xml:
7078           add a quote
7079         * gst/gstelement.c: (gst_element_set_state):
7080           add some debug
7081
7082 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7083
7084         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7085         (gst_base_transform_prepare_output_buf),
7086         (gst_base_transform_handle_buffer):
7087         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7088         (gst_capsfilter_prepare_buf):
7089           Remove the requirement for sub-classes to call the parent
7090           implementation of prepare_output_buffer with a wrapper function.
7091           
7092         * gst/gsttaglist.h:
7093         * gst/gsttagsetter.h:
7094           Fix #define wrapper
7095
7096 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7097
7098         * docs/gst/gstreamer-sections.txt:
7099           more doc cleanups
7100
7101 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7102
7103         * docs/gst/gstreamer-sections.txt:
7104         * docs/gst/tmpl/gstelement.sgml:
7105         * docs/gst/tmpl/gstplugin.sgml:
7106         * gst/gstminiobject.c:
7107         * gst/gstvalue.h:
7108           docs now stop throwing warnings
7109
7110 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7111
7112         * docs/gst/gstreamer-sections.txt:
7113         * docs/gst/gstreamer.types:
7114         * docs/gst/tmpl/gstpad.sgml:
7115         * docs/gst/tmpl/gsttypes.sgml:
7116         * gst/base/gstadapter.h:
7117         * gst/base/gstbasesink.h:
7118         * gst/base/gstbasesrc.h:
7119         * gst/gstbin.h:
7120         * gst/gstbuffer.h:
7121         * gst/gstbus.h:
7122         * gst/gstcaps.h:
7123         * gst/gstclock.h:
7124         * gst/gstelement.h:
7125         * gst/gstevent.h:
7126         * gst/gstmessage.h:
7127         * gst/gstpad.h:
7128         * gst/gststructure.c:
7129         * gst/registries/gstlibxmlregistry.h:
7130           various documentation fixes
7131
7132 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7133
7134         * docs/gst/gstreamer-sections.txt:
7135         * docs/gst/tmpl/gstvalue.sgml:
7136           rearrange gstvalue section
7137         * gst/gstutils.c: (gst_element_state_get_name):
7138           NONE -> VOID
7139         * gst/gstvalue.c: (_gst_value_initialize):
7140         * gst/gstvalue.h:
7141           doc updates
7142
7143 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7144
7145         * check/gst-libs/controller.c:
7146           Header include fix.
7147         * gst/base/gstbasetransform.c:
7148         (gst_base_transform_default_prepare_buf),
7149         (gst_base_transform_handle_buffer):
7150         * gst/base/gstbasetransform.h:
7151           Some more basetransform changes and fixes to enable sub-classes
7152           that modify buffer metadata only.
7153         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7154         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7155         (gst_capsfilter_prepare_buf):
7156           If the output pad has fixed allowed caps and input buffers 
7157           don't have any, set the fixed caps on outgoing buffers.
7158
7159 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7160         * check/elements/identity.c: (GST_START_TEST):
7161           Make the error a little clearer when the test fails because
7162           identity made a copy of the buffer.
7163         * docs/gst/gstreamer-sections.txt:
7164           New symbols in gstbasetransform.h
7165         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7166         (gst_base_transform_init), (gst_base_transform_transform_size),
7167         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7168         (gst_base_transform_default_prepare_buf),
7169         (gst_base_transform_get_unit_size),
7170         (gst_base_transform_buffer_alloc),
7171         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7172         (gst_base_transform_change_state),
7173         (gst_base_transform_set_passthrough),
7174         (gst_base_transform_set_in_place),
7175         (gst_base_transform_is_in_place):
7176         * gst/base/gstbasetransform.h:
7177           Change BaseTransform to separate in_place operate from same_caps
7178           output. in_place implies that the element can perform the transform
7179           on incoming buffers in-place, even if the caps on the output are
7180           different.
7181           Sub-class elements can now implement special buffer allocation
7182           methods for outgoing buffers if they wish to.
7183           Big documentation addition.
7184         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7185         * gst/elements/gstelements.c:
7186           Changes for basetransform modifications.
7187         * gst/elements/Makefile.am:
7188         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7189           Compile fix. Extra debug output.
7190
7191 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7192
7193         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7194         (gst_pad_suite):
7195           add tests for valid pad naming
7196         * gst/check/gstcheck.c: (gst_check_log_message_func),
7197         (gst_check_log_critical_func):
7198           add ASSERT_WARNING
7199           remove printing of code, it is fragile when the code contains
7200           % and the line number is enough info
7201         * gst/check/gstcheck.h:
7202         * gst/gstpad.c: (gst_pad_template_new):
7203           fix memleaks
7204
7205 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7206
7207         * configure.ac:
7208           say what CHECK flags we use
7209         * docs/libs/gstreamer-libs.types:
7210         * libs/gst/controller/Makefile.am:
7211         * libs/gst/controller/gst-controller.c:
7212         * libs/gst/controller/gst-controller.h:
7213         * libs/gst/controller/gst-helper.c:
7214         * libs/gst/controller/gst-interpolation.c:
7215         * libs/gst/controller/gstcontroller.c:
7216         * libs/gst/controller/gsthelper.c:
7217         * libs/gst/controller/gstinterpolation.c:
7218         * tools/gst-inspect.c: (print_plugin_info):
7219           we don't use dashes in header names
7220
7221 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7222
7223         * check/Makefile.am:
7224         * check/gst/.cvsignore:
7225         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7226         (gst_pipeline_suite), (main):
7227           adding a test for pipelines and state changes
7228         * gst/gstutils.c: (get_state_func):
7229           add some debugging
7230         * gstreamer.spec.in:
7231           fix up spec file
7232
7233 2005-09-08  Michael Smith <msmith@fluendo.com>
7234
7235         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7236         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7237         (gst_file_src_is_seekable), (gst_file_src_get_size),
7238         (gst_file_src_start):
7239         * gst/elements/gstfilesrc.h:
7240           Various fixes for unseekable, unmmapable, and non-normal files, so
7241           that fallback to read() rather than mmap() works.
7242         * gst/gstevent.c: (gst_event_new_newsegment):
7243           Allow newsegment events with segment_start == segment_end, as will
7244           correctly happen if you use filesrc on a zero-size file, for
7245           example.
7246
7247 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7248
7249         * gst/gstplugin.c: (gst_plugin_load_file):
7250           Call g_module_close when we don't load the module
7251
7252         * gst/registries/gstlibxmlregistry.c:
7253         (gst_xml_registry_get_property):
7254           Port leak fix from 0.8
7255
7256 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7257
7258         * docs/gst/gstreamer-docs.sgml:
7259         * docs/gst/tmpl/.cvsignore:
7260         * docs/gst/tmpl/gsttrace.sgml:
7261         * docs/gst/tmpl/gsttrashstack.sgml:
7262         * gst/Makefile.am:
7263         * gst/gst.h:
7264         * gst/gstelement.h:
7265         * gst/gstevent.h:
7266         * gst/gstmessage.c:
7267         * gst/gstmessage.h:
7268         * gst/gsttag.c:
7269         * gst/gsttag.h:
7270         * gst/gsttaginterface.c:
7271         * gst/gsttaginterface.h:
7272         * gst/gsttaglist.c:
7273         * gst/gsttaglist.h:
7274         * gst/gsttagsetter.c:
7275         * gst/gsttagsetter.h:
7276         * gst/gsttrace.c:
7277         * gst/gsttrace.h:
7278         * gst/gsttrashstack.c:
7279           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7280           inlined docs for gsttrace, gsttrashstack
7281
7282 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7283
7284         * gst/Makefile.am:
7285         * gst/elements/gstbufferstore.h:
7286         * gst/elements/gsttypefindelement.c:
7287         * gst/elements/gsttypefindelement.h:
7288         * gst/gst.h:
7289         * gst/gsttypefind.c:
7290         * gst/gsttypefind.h:
7291         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7292         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7293         (gst_type_find_factory_dispose),
7294         (gst_type_find_factory_unload_thyself),
7295         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7296         (gst_type_find_factory_get_caps),
7297         (gst_type_find_factory_get_extensions),
7298         (gst_type_find_factory_call_function):
7299         * gst/gsttypefindfactory.h:
7300         * gst/registries/gstlibxmlregistry.c:
7301         * gst/registries/gstxmlregistry.c:
7302           splitted gsttypefind into gsttypefind, gsttypefindfactory
7303
7304 2005-09-07  Andy Wingo  <wingo@pobox.com>
7305
7306         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7307         condition whereby the pad's task function is entered before the
7308         pad_mode variable was set.
7309
7310 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7311
7312         * gst/gstpad.c: (gst_pad_alloc_buffer):
7313           Catch misbehaving pad_alloc functions that don't
7314           set up caps and do it for them.
7315
7316 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7317
7318         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7319           test for pipe!=NULL
7320         * docs/gst/tmpl/.cvsignore:
7321         * docs/gst/tmpl/gstmemchunk.sgml:
7322         * docs/gst/tmpl/gstparse.sgml:
7323         * docs/gst/tmpl/gsttaglist.sgml:
7324         * docs/gst/tmpl/gsttagsetter.sgml:
7325         * docs/gst/tmpl/gsttypefind.sgml:
7326         * docs/gst/tmpl/gsttypefindfactory.sgml:
7327         * gst/gstmemchunk.c:
7328         * gst/gstparse.c:
7329         * gst/gsttag.c:
7330         * gst/gsttaginterface.c:
7331         * gst/gsttypefind.c:
7332         * gst/gsttypefind.h:
7333           inlined more docs
7334
7335 === release 0.9.2 ===
7336
7337 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7338
7339         * NEWS:
7340         * RELEASE:
7341         * configure.ac:
7342           releasing 0.9.2, "South"
7343
7344 2005-09-05  Andy Wingo  <wingo@pobox.com>
7345
7346         * gst/registries/gstxmlregistry.h:
7347         * gst/registries/gstxmlregistry.c: Um... resurrect...
7348         
7349         * gst/registries/gstxmlregistry.h:
7350         * gst/registries/gstxmlregistry.c: and update to newer API.
7351         Incidentally they should be a bit faster now that they don't have
7352         to parse the caps.
7353         
7354 2005-09-05  Andy Wingo  <wingo@pobox.com>
7355
7356         * gst/registries/gstxmlregistry.h:
7357         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7358         replaced by the libxml registry a while back
7359
7360 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7361
7362         * docs/gst/tmpl/gstplugin.sgml:
7363         * gst/elements/gstelements.c:
7364         * gst/gst.c:
7365         * gst/gstplugin.c: (gst_plugin_register_func),
7366         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7367         (gst_plugin_get_source):
7368         * gst/gstplugin.h:
7369         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7370         (gst_xml_registry_save_plugin):
7371         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7372         (gst_xml_registry_save_plugin):
7373         * tools/gst-inspect.c: (print_plugin_info):
7374           add a "source" plugin description field, to represent the source
7375           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7376           will set it to PACKAGE, which is automake's idea of the name of
7377           the source project.
7378
7379 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         * Makefile.am:
7382         * autogen.sh:
7383         * configure.ac:
7384         * docs/Makefile.am:
7385         * docs/faq/Makefile.am:
7386         * docs/gst/tmpl/gstelement.sgml:
7387         * docs/gst/tmpl/gsttypes.sgml:
7388         * docs/htmlinstall.mak:
7389         * docs/manual/Makefile.am:
7390         * docs/pwg/Makefile.am:
7391           reorganize doc build a little
7392           split out docbook and gtk-doc stuff
7393           have two separate --enable's and enable them through autogen
7394           but disable by default in configure (to be similar to other
7395           projects)
7396         * gstreamer.spec.in:
7397           clean up docs install
7398         * po/af.po:
7399         * po/az.po:
7400         * po/ca.po:
7401         * po/cs.po:
7402         * po/de.po:
7403         * po/en_GB.po:
7404         * po/fr.po:
7405         * po/it.po:
7406         * po/nb.po:
7407         * po/nl.po:
7408         * po/ru.po:
7409         * po/sq.po:
7410         * po/sr.po:
7411         * po/sv.po:
7412         * po/tr.po:
7413         * po/uk.po:
7414         * po/vi.po:
7415           translation updates
7416
7417 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7418
7419         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7420           Add comment.
7421           
7422         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7423         (gst_fake_sink_change_state):
7424           Make state change function thread-safe.
7425           
7426         * gst/gstpad.c: (gst_pad_alloc_buffer):
7427           Set offset on generic buffer allocated by fallback.
7428
7429 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7430
7431         * docs/gst/gstreamer-sections.txt:
7432         * docs/gst/tmpl/gstelement.sgml:
7433         * gst/gstpad.c:
7434         * libs/gst/controller/gst-controller.c:
7435         (gst_controlled_property_set_interpolation_mode),
7436         (gst_controlled_property_new),
7437         (gst_controller_find_controlled_property):
7438          run the wingo-magic script against the docs
7439
7440 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7441
7442         * docs/gst/gstreamer-docs.sgml:
7443         * docs/gst/gstreamer-sections.txt:
7444         * docs/gst/tmpl/.cvsignore:
7445         * docs/gst/tmpl/gstelementdetails.sgml:
7446         * docs/gst/tmpl/gstelementfactory.sgml:
7447         * gst/gst.c:
7448         * gst/gstbus.c:
7449         * gst/gstelementfactory.c:
7450         * gst/gstelementfactory.h:
7451           merged elementdetails docs into elementfactory docs
7452           inlined both
7453
7454 2005-09-02  Andy Wingo  <wingo@pobox.com>
7455
7456         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7457         consider this enum an enum and not a flags.
7458
7459 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7460
7461         * docs/gst/gstreamer-docs.sgml:
7462         * docs/gst/tmpl/.cvsignore:
7463         * docs/gst/tmpl/gstghostpad.sgml:
7464         * docs/gst/tmpl/gstiterator.sgml:
7465         * docs/gst/tmpl/gstmacros.sgml:
7466         * docs/gst/tmpl/gstrealpad.sgml:
7467         * docs/gst/tmpl/gstregistry.sgml:
7468         * docs/gst/tmpl/gstregistrypool.sgml:
7469         * docs/gst/tmpl/gststructure.sgml:
7470         * docs/gst/tmpl/gstsystemclock.sgml:
7471         * docs/gst/tmpl/gsttrace.sgml:
7472         * gst/gstghostpad.c:
7473         * gst/gstmacros.h:
7474         * gst/gstmemchunk.c:
7475         * gst/gstmemchunk.h:
7476         * gst/gstqueue.c:
7477         * gst/gstregistry.c:
7478         * gst/gstregistrypool.c:
7479         * gst/gststructure.c:
7480         * gst/gstsystemclock.c:
7481           more docs inlined
7482
7483 2005-09-02  Andy Wingo  <wingo@pobox.com>
7484
7485         * gst/gstelement.h (GstState): Renamed from GstElementState,
7486         changed to be a normal enum instead of flags.
7487         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7488         munged to be GST_STATE_CHANGE_*.
7489         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7490         work with the new state representation.
7491         (GstStateChange): New enumeration of possible state transitions.
7492         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7493         (GstElementClass::change_state): Pass the GstStateChange along as
7494         an argument. Helps language bindings, so they don't have to use
7495         tricky lock-needing macros like GST_STATE_CHANGE ().
7496
7497         * scripts/update-states (file): New script. Run it on a file to
7498         update it for state naming and API changes. Updates files in
7499         place.
7500
7501         * All files updated for the new API.
7502
7503 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7504
7505         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7506         * gst/gstutils.c: (gst_util_set_value_from_string),
7507         (gst_util_set_object_arg):
7508           fix a bunch of unchecked return values
7509         * tools/gst-complete.c: (main):
7510         * gstreamer.spec.in:
7511           clean up a little
7512
7513 2005-09-01  Wim Taymans  <wim@fluendo.com>
7514
7515         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7516         (gst_base_sink_event), (gst_base_sink_do_sync),
7517         (gst_base_sink_handle_event):
7518         * gst/base/gstbasesink.h:
7519         Handle newsegments more correctly.
7520
7521         * gst/gstbus.c:
7522         Fix docs.
7523
7524         * gst/gstevent.c: (gst_event_new_newsegment):
7525         A newsegment cannot have a start_time of -1
7526
7527 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7528
7529         * win32/gstenumtypes.c:
7530         * win32/gstenumtypes.h:
7531           Update
7532
7533 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7534
7535         * libs/gst/controller/gst-controller.c:
7536         (gst_controlled_property_set_interpolation_mode),
7537         (gst_controlled_property_new):
7538          fixed boolean again
7539
7540 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7541
7542         * docs/faq/gst-uninstalled:
7543           add -good
7544         * gst/gstevent.c:
7545         * gst/gstevent.h:
7546           remove wrong docs
7547         * gst/gstutils.c: (gst_element_link_filtered):
7548         * gst/gstutils.h:
7549           add gst_element_link_filtered
7550
7551 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7552
7553         * docs/gst/gstreamer-docs.sgml:
7554         * docs/gst/gstreamer-sections.txt:
7555         * docs/gst/tmpl/.cvsignore:
7556         * docs/gst/tmpl/gsterror.sgml:
7557         * docs/gst/tmpl/gstfilter.sgml:
7558         * docs/gst/tmpl/gsturihandler.sgml:
7559         * docs/gst/tmpl/gsturitype.sgml:
7560         * docs/gst/tmpl/gstutils.sgml:
7561         * docs/gst/tmpl/gstxml.sgml:
7562         * gst/gsterror.c:
7563         * gst/gsterror.h:
7564         * gst/gstfilter.c:
7565         * gst/gsturi.c:
7566         * gst/gsturitype.c:
7567         * gst/gstutils.c:
7568         * gst/gstxml.c:
7569           inlined more docs, fixed double id-ref
7570
7571 2005-08-31  Wim Taymans  <wim@fluendo.com>
7572
7573         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7574         (gst_base_transform_handle_buffer):
7575         Passthrough elements don't need the caps as they don't care.
7576
7577 2005-08-31  Wim Taymans  <wim@fluendo.com>
7578
7579         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7580         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7581         Don't leak refcounts on buffers.
7582
7583 2005-08-31  Wim Taymans  <wim@fluendo.com>
7584
7585         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7586         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7587         (gst_base_transform_chain), (gst_base_transform_change_state):
7588         * gst/base/gstbasetransform.h:
7589         Handle the case where we are not negotiated more gracefully.
7590
7591 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7592
7593         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7594         (gst_file_src_map_region):
7595           Set READONLY flag on mmap'ed buffers, otherwise
7596           gst_buffer_make_writable() won't work properly (#314708).
7597
7598 2005-08-31  Wim Taymans  <wim@fluendo.com>
7599
7600         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7601         passthrough elements can even do inplace on non writable
7602         buffers (as they don't touch them).
7603
7604 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7605
7606         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7607         (gst_test_mono_source_set_property),
7608         (gst_test_mono_source_class_init), (GST_START_TEST),
7609         (gst_controller_suite):
7610           more tests (hehe I have the most)
7611         * gst/gstbus.c:
7612           describe popping messages whenusing mulltiple sources
7613         * libs/gst/controller/gst-controller.c:
7614         (gst_controlled_property_set_interpolation_mode),
7615         (gst_controlled_property_new):
7616         * libs/gst/controller/gst-controller.h:
7617         * libs/gst/controller/gst-interpolation.c:
7618           implement boolean properties
7619
7620 2005-08-31  Wim Taymans  <wim@fluendo.com>
7621
7622         * gst/gstminiobject.c: (gst_mini_object_ref):
7623         Cannot assert that the refcount has to be positive
7624         since a disposed object can be resurrected.
7625
7626 2005-08-31  Wim Taymans  <wim@fluendo.com>
7627
7628         * gst/gstpad.c: (gst_pad_init):
7629         Revert change, need to first fix badly behaving 
7630         apps.
7631
7632 2005-08-30  Wim Taymans  <wim@fluendo.com>
7633
7634         * check/elements/fakesrc.c: (setup_fakesrc):
7635         * check/elements/identity.c: (setup_identity):
7636         Activate pads before using them.
7637
7638 2005-08-30  Wim Taymans  <wim@fluendo.com>
7639
7640         * gst/base/gstadapter.c: (gst_adapter_flush):
7641         Flushing out 0 bytes is ok for this function.
7642
7643         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7644         no newsegment gives a warning and sets the start/stop to 
7645         invalid.
7646
7647         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7648         (gst_base_transform_set_passthrough):
7649         Some debug info.
7650
7651         * gst/gstminiobject.c: (gst_mini_object_ref):
7652         Check refcount here too.
7653
7654         * gst/gstpad.c: (gst_pad_init):
7655         Pads are initially flushing and refusing data.
7656
7657         * gst/gstutils.c: (gst_element_link_pads_filtered):
7658         When adding a capsfilter element make sure it has the
7659         same state as the parent bin.
7660
7661 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7662
7663         * docs/gst/tmpl/.cvsignore:
7664         * docs/gst/tmpl/gstformat.sgml:
7665         * docs/gst/tmpl/gstversion.sgml:
7666         * gst/gstbus.h:
7667         * gst/gstformat.c:
7668         * gst/gstformat.h:
7669         * gst/gstversion.h.in:
7670           more docs and two more inlined
7671
7672 2005-08-30  Wim Taymans  <wim@fluendo.com>
7673
7674         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7675         Don't sync to clock.
7676
7677 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7678
7679         * docs/gst/gstreamer-sections.txt:
7680           ultral33t func10ns deserve to appear in the docs actually
7681         * docs/gst/tmpl/.cvsignore:
7682         * docs/gst/tmpl/gstcompat.sgml:
7683         * docs/gst/tmpl/gstconfig.sgml:
7684         * gst/check/gstcheck.c:
7685         * gst/gstcompat.h:
7686         * gst/gstconfig.h.in:
7687           inlined more docs
7688
7689 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7690
7691         * docs/gst/tmpl/.cvsignore:
7692         * docs/gst/tmpl/gstquery.sgml:
7693         * docs/gst/tmpl/gstutils.sgml:
7694         * gst/gstquery.c:
7695         * gst/gstquery.h:
7696           inlined and extended docs
7697
7698 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7699
7700         * check/gst-libs/controller.c: (GST_START_TEST),
7701         (gst_controller_suite):
7702           more tests
7703         * docs/gst/tmpl/gstutils.sgml:
7704         * docs/libs/gstreamer-libs-sections.txt:
7705         * docs/libs/tmpl/gstdataprotocol.sgml:
7706           include path fixes
7707         * examples/controller/audio-example.c: (main):
7708           controller example works now
7709         * gst/gstclock.h:
7710           doc fixes
7711         * tools/gst-inspect.c: (print_element_properties_info):
7712           show param spec flags
7713
7714 2005-08-29  Andy Wingo  <wingo@pobox.com>
7715
7716         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7717
7718 2005-08-28  Andy Wingo  <wingo@pobox.com>
7719
7720         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7721         as having two arguments instead of just one. Allows superclasses
7722         to access information on subclasses -- see the terrible for() loop
7723         in gtype.c:g_type_create_instance for the reason why. All callers
7724         changed.
7725
7726 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7727
7728         * docs/design/part-messages.txt:
7729           update info
7730         * docs/gst/tmpl/.cvsignore:
7731         * docs/gst/tmpl/gstcaps.sgml:
7732         * docs/gst/tmpl/gstclock.sgml:
7733         * gst/gstbus.c:
7734         * gst/gstcaps.c:
7735         * gst/gstcaps.h:
7736         * gst/gstclock.c:
7737         * gst/gstclock.h:
7738         * gst/gstmessage.c:
7739           added descriptions for bus and message
7740           inline caps and clock docs
7741
7742 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7743
7744         * gst/gstmessage.c:
7745         * gst/gstmessage.h:
7746           doc fixes
7747
7748 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7749
7750         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7751           fix div-by-zero
7752
7753 2005-08-26  Andy Wingo  <wingo@pobox.com>
7754
7755         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7756         element_set_state's return val.
7757         (test_2_elements): Add test that's been disabled for months.
7758
7759         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7760         can-activate-pull properties.
7761
7762         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7763         can-activate-pull properties. Implement is_seekable so fakesrc can
7764         operate in pull mode.
7765
7766         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7767         properties.
7768         (gst_base_sink_activate, gst_base_sink_activate_pull)
7769         (gst_base_sink_activate_push): Make activation mode choosing work.
7770         Cleanups.
7771         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7772         is right. Make pull mode work. Post an eos before pausing in pull
7773         mode.
7774         (gst_base_sink_change_state): Pay attention to the core's
7775         change_state() return val.
7776         
7777         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7778         has-getrange properties. Cleanups.
7779         
7780         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7781         has_getrange and replace with can_activate_pull and
7782         can_activate_push.
7783
7784         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7785         locking comments. Remove has_loop, has_chain and replace with
7786         can_activate_pull and can_activate_push.
7787
7788 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7789
7790         * configure.ac:
7791         * examples/Makefile.am:
7792         * examples/metadata/Makefile.am:
7793         * examples/metadata/read-metadata.c: (message_loop),
7794         (have_pad_handler), (make_pipeline), (print_tag), (main):
7795           Add metadata reading example that loops over a list of filenames,
7796           dumping any tags found.
7797
7798         * gst/gstbus.c: (gst_bus_dispose):
7799         * gst/gstelement.c: (gst_element_dispose):
7800           Release a few potentially-held references in dispose.
7801
7802 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * docs/gst/tmpl/gstminiobject.sgml:
7805           do *not* add tmpl/*.sgml files to CVS!
7806
7807 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7808
7809         * libs/gst/bytestream/.cvsignore:
7810         * libs/gst/bytestream/Makefile.am:
7811         * libs/gst/bytestream/adapter.c:
7812         * libs/gst/bytestream/adapter.h:
7813         * libs/gst/bytestream/bytestream.c:
7814         * libs/gst/bytestream/bytestream.h:
7815         * libs/gst/bytestream/filepad.c:
7816         * libs/gst/bytestream/filepad.h:
7817           removing obsolete files
7818
7819 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * docs/gst/gstreamer-docs.sgml:
7822         * docs/libs/gstreamer-libs-docs.sgml:
7823           disabed additional index entries again, as this makes docs-gen just
7824           slow and they aren't useful yet
7825         * docs/libs/gstreamer-libs-sections.txt:
7826           little -section.txt cleanup for libs
7827
7828 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7829
7830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7831         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7832           fix up some debugging
7833         (gst_base_transform_get_unit_size),
7834         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7835         (gst_base_transform_handle_buffer):
7836         * gst/base/gstbasetransform.h:
7837           handle and store timed NEWSEGMENT events so that subclasses that
7838           calculate time by counting samples have a segment_start time they
7839           need to add to their timestamps - see audioresample
7840
7841 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7842
7843         * gst/gstbin.h:
7844           removed ';' from the end of macro defs
7845         * docs/gst/gstreamer-docs.sgml:
7846         * docs/gst/gstreamer-sections.txt:
7847         * docs/gst/tmpl/.cvsignore:
7848         * gst/gstbus.h:
7849         * gst/gstelement.c: (gst_element_class_init),
7850         (gst_element_set_state), (activate_pads),
7851         (gst_element_save_thyself):
7852         * gst/gstevent.c: (gst_event_new_newsegment):
7853         * gst/gstevent.h:
7854         * gst/gstiterator.c:
7855         * gst/gstiterator.h:
7856         * gst/gstpad.c:
7857         * gst/gstprobe.h:
7858         * gst/gstutils.c: (gst_pad_query_convert):
7859         * gst/gstutils.h:
7860           fixed parameter name mismatches between source, header and docs
7861           added some more docs, resolved the last batch of unused elements in
7862           docs (now someone needs to doc them)
7863
7864 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7865
7866         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7867         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7868           don't walk through the plugins backwards.  Where is all this
7869           reversed logic coming from ?
7870
7871 2005-08-25  Wim Taymans  <wim@fluendo.com>
7872
7873         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7874         (gst_base_transform_transform_size),
7875         (gst_base_transform_configure_caps),
7876         (gst_base_transform_get_unit_size),
7877         (gst_base_transform_buffer_alloc),
7878         (gst_base_transform_change_state):
7879         * gst/base/gstbasetransform.h:
7880         Cache caps unit_size.
7881         Make sure we cannot negotiate up and downstream at the
7882         same time.
7883
7884 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7885
7886         * gst/gst.c: (init_pre), (init_post):
7887           register the installed plugin path after the env var
7888         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7889         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7890           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7891           directories, so the tests can prefer uninstalled over installed
7892
7893 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7894
7895         * gst/base/gstbasetransform.h:
7896           comment
7897         * gst/gstpad.c:
7898           add to docs
7899
7900 2005-08-25  Wim Taymans  <wim@fluendo.com>
7901
7902         * gst/gstbin.c: (bin_bus_handler):
7903         Be a bit more conservative about the posted message.
7904         
7905         * gst/gstbus.c: (gst_bus_post):
7906         Some cleanups, warn wrong return values.
7907
7908 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7909
7910         * check/gst/gstbin.c: (GST_START_TEST):
7911         * gst/gstbin.c: (bin_bus_handler):
7912         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7913         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7914         (gst_message_new_warning), (gst_message_new_tag),
7915         (gst_message_new_state_changed), (gst_message_new_segment_start),
7916         (gst_message_new_segment_done), (gst_message_new_custom):
7917         * gst/gstmessage.h:
7918         * tools/gst-launch.c: (event_loop):
7919         * tools/gst-md5sum.c: (event_loop):
7920           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7921
7922 2005-08-25  Wim Taymans  <wim@fluendo.com>
7923
7924         * check/generic/states.c: (GST_START_TEST):
7925         Cleanup can be done at the end.
7926
7927         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7928         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7929         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7930         Oh boy.. Thanks for finding this, Thomas. 
7931
7932 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7933
7934         * docs/gst/gstreamer.types:
7935           added missing types
7936
7937 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7938
7939         * docs/gst/gstreamer-docs.sgml:
7940         * docs/gst/gstreamer-sections.txt:
7941         * docs/gst/tmpl/.cvsignore:
7942         * gst/gstbin.c:
7943         * gst/gstiterator.c:
7944         * gst/gstutils.c:
7945         * gst/registries/gstxmlregistry.h:
7946           added missing classes and symbols (123 more to go)
7947           removed removed symbols from section file
7948           fixed many doc-comments
7949
7950 2005-08-24  Wim Taymans  <wim@fluendo.com>
7951
7952         * check/generic/states.c: (GST_START_TEST):
7953         Make sure all tasks are stopped.
7954
7955         * check/gst/gstbin.c: (GST_START_TEST):
7956         Unref after usage for proper valgrinding.
7957
7958         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7959         Really wait for the task to stop before destroying the
7960         mutex.
7961
7962         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7963         (gst_queue_src_activate_push):
7964         Small cleanups. Don't stop the task when we did not start
7965         it.
7966
7967         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7968         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7969         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7970         (gst_task_join):
7971         * gst/gsttask.h:
7972         Protect the stream lock with the object lock.
7973         Disallow setting the stream lock when running.
7974         Add cleanup_all to wait for the threadpool to finish.
7975         Remove code to autoallocate a mutex if none was provided.
7976         Add _join() to wait for a task to stop.
7977         Protect the thread pool with a global lock.
7978
7979 2005-08-24  Wim Taymans  <wim@fluendo.com>
7980
7981         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7982         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7983         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7984         * gst/base/gstbasesink.h:
7985         Handle newsegment events correctly.
7986         Drop buffers out of the segment range.
7987
7988 2005-08-22  Andy Wingo  <wingo@pobox.com>
7989
7990         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7991         macro, implements an interface and gstimplementsinterface for a
7992         new type.
7993
7994 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7995
7996         * check/Makefile.am:
7997         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7998           add a test that does a bunch of state changes on elements
7999           needs some fixing for valgrind
8000         * check/states/sinks.c: (gst_object_suite):
8001           whitespace
8002         * gst/gstcaps.h:
8003           add prototype for gst_caps_is_equal_fixed
8004         * gst/gstplugin.c:
8005         * gst/gstregistrypool.c:
8006           doc fixes
8007
8008 2005-08-24  Andy Wingo  <wingo@pobox.com>
8009
8010         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8011         convert a negative value. Doesn't make much sense. Mostly this is
8012         here to force callers to ensure -1 maps to -1.
8013
8014 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8015
8016         * docs/pwg/advanced-types.xml:
8017           Well done to Michael for catching my deliberate introduction
8018           of this spelling mistake. 
8019         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8020         * gst/gstelement.h:
8021           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8022           unlink pads before removing the element from the bin.
8023
8024 2005-08-24  Andy Wingo  <wingo@pobox.com>
8025
8026         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8027         the same thing as GST_DEBUG=*:4.
8028         (parse_debug_level, parse_debug_category): New helper parsers.
8029
8030 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8031
8032         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8033         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8034         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8035         (gst_base_transform_buffer_alloc),
8036         (gst_base_transform_handle_buffer):
8037           use gboolean return values and pointers to size so we can use the
8038           full GST_BUFFER_SIZE range (guint) for buffer sizes
8039           use GstPadDirection for transform_caps
8040         * gst/base/gstbasetransform.h:
8041           rename get_size to get_unit_size since that's what it is
8042         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8043           use GstPadDirection for transform_caps
8044         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8045         * gst/gstutils.h:
8046           cleanup and debugging
8047
8048 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8049
8050         * gst/gstelement.c: (gst_element_class_init),
8051         (gst_element_set_state), (activate_pads),
8052         (gst_element_save_thyself):
8053         * tools/gst-compprep.c: (main):
8054         * tools/gst-inspect.c: (print_element_properties_info):
8055         * tools/gst-xmlinspect.c: (print_element_properties):
8056           Fixed long standing mem-leak
8057
8058 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8059
8060         * check/gst/gstbin.c: (GST_START_TEST):
8061         * gst/gstbin.c: (bin_bus_handler):
8062         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8063         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8064         (gst_message_new_warning), (gst_message_new_tag),
8065         (gst_message_new_state_changed), (gst_message_new_segment_start),
8066         (gst_message_new_segment_done), (gst_message_new_custom):
8067         * gst/gstmessage.h:
8068         * tools/gst-launch.c: (event_loop):
8069         * tools/gst-md5sum.c: (event_loop):
8070           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8071           that applications can sensibly post custom messages with references
8072           to their own objects.
8073
8074 2005-08-24  Andy Wingo  <wingo@pobox.com>
8075
8076         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8077         already.
8078
8079 2005-08-24  Wim Taymans  <wim@fluendo.com>
8080
8081         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8082         (gst_base_transform_transform_caps),
8083         (gst_base_transform_transform_size),
8084         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8085         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8086         (gst_base_transform_handle_buffer):
8087         * gst/base/gstbasetransform.h:
8088         Many fixes and new features added by Thomas. Can now also do
8089         transforms with variable sizes and a custom fixate_caps function.
8090
8091 2005-08-24  Wim Taymans  <wim@fluendo.com>
8092
8093         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8094         Some debugging.
8095
8096         * gst/gstclock.h:
8097         Cast to ClockTime before formatting to time.
8098
8099         * gst/gstutils.h:
8100         Cleanups.
8101
8102 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8103
8104         * check/gst-libs/controller.c: (GST_START_TEST),
8105         (gst_controller_suite):
8106         * docs/gst/tmpl/gstcaps.sgml:
8107         * docs/gst/tmpl/gstghostpad.sgml:
8108         * docs/gst/tmpl/gstquery.sgml:
8109         * docs/gst/tmpl/gstutils.sgml:
8110         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8111         (gst_object_sink_values), (gst_object_get_value_arrays),
8112         (gst_object_get_value_array):
8113           gracefully handle helper method calls to objects that are not beeing
8114           controlled, added test case for that          
8115
8116 2005-08-23  Wim Taymans  <wim@fluendo.com>
8117
8118         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8119         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8120         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8121         (gst_event_parse_qos), (gst_event_new_seek),
8122         (gst_event_parse_seek):
8123         * gst/gstevent.h:
8124         Some more debugging output and doc cleanups.
8125
8126         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8127         Fix possible deadlock.
8128
8129 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8130
8131         * docs/gst/gstreamer-docs.sgml:
8132         * docs/gst/gstreamer-sections.txt:
8133         * docs/gst/gstreamer.types:
8134         * docs/gst/tmpl/.cvsignore:
8135         * gst/gstbin.h:
8136         * gst/gstbus.c:
8137         * gst/gstelement.c:
8138         * gst/gstevent.h:
8139           added 100 symbols from gstreamer-unused.txt to the right sections
8140           fixed more broken comments
8141           added GstBus to docs
8142
8143 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8144
8145         * docs/gst/gstreamer-sections.txt:
8146         * docs/gst/tmpl/.cvsignore:
8147         * docs/gst/tmpl/gstbin.sgml:
8148         * docs/gst/tmpl/gstbuffer.sgml:
8149         * gst/base/gstbasesrc.c:
8150         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8151         * gst/gstbuffer.c:
8152         * gst/gstbuffer.h:
8153         * tools/gst-launch.1.in:
8154           inlined more doc comments, added missing comments and fixed comments
8155           fixed typos
8156
8157 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8158
8159         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8160           some debugging
8161         * gst/gstcaps.h:
8162           whitespace fixes
8163         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8164           more debugging
8165         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8166         * gst/gststructure.h:
8167           add a fixate function for booleans; add a FIXME that these func
8168           names should probably be gst_structure_fixate_*
8169
8170 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8171
8172         * docs/gst/gstreamer-docs.sgml:
8173         * docs/gst/gstreamer-sections.txt:
8174         * gst/Makefile.am:
8175         * gst/gstbin.c: (gst_bin_get_type),
8176         (gst_bin_child_proxy_get_child_by_index),
8177         (gst_bin_child_proxy_get_children_count),
8178         (gst_bin_child_proxy_init):
8179         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8180         (gst_child_proxy_get_child_by_index),
8181         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8182         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8183         (gst_child_proxy_get), (gst_child_proxy_set_property),
8184         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8185         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8186         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8187         * gst/gstchildproxy.h:
8188         * gst/parse/grammar.y:
8189         * tools/gst-inspect.c: (print_interfaces),
8190         (print_element_properties_info), (print_element_info):
8191           ported gstchildproxy over from 0.8
8192           ported gst-inspect fixes and enhancements over from 0.8
8193
8194 2005-08-22  Wim Taymans  <wim@fluendo.com>
8195
8196         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8197         (gst_base_transform_handle_buffer):
8198         Also call the transform function if we have ANY caps.
8199
8200         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8201         Fix debug info.
8202
8203 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8204
8205         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8206           Don't pretend to handle seek events if the source is not seekable
8207
8208 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8209
8210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8211           Remove extra parameter to debug output
8212
8213         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8214         (gst_base_src_do_seek), (gst_base_src_activate_push):
8215           Fix seek event handling.
8216
8217         * gst/gstpipeline.c: (gst_pipeline_change_state):
8218         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8219         (gst_queue_src_activate_push):
8220           Don't start the src pad task on FLUSH_STOP if the pad
8221           isn't linked.
8222           Debug changes.
8223
8224 2005-08-22  Wim Taymans  <wim@fluendo.com>
8225
8226         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8227         Added check for gst_static_caps_get() refcounting.
8228
8229 2005-08-22  Wim Taymans  <wim@fluendo.com>
8230
8231         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8232         Make _static_caps_get() refcounting sane.
8233         
8234         * gst/gstelement.c: (gst_element_set_state):
8235         Add g_return_val_if_fail() to protect against segfaults.
8236
8237 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8238
8239         * docs/gst/tmpl/gstevent.sgml:
8240         * gst/gstevent.c:
8241         * gst/gstevent.h:
8242           inlined remaining docs, added missing doc comments
8243
8244 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8245
8246         * check/gst/gstbin.c: (GST_START_TEST):
8247           since we don't know when preroll is done, use refcount range
8248           check for the sink
8249         * gst/check/gstcheck.h:
8250           add macro for checking refcount range
8251
8252 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8253
8254         * check/Makefile.am:
8255           clean up environment for when registry gets built versus
8256           when actual tests are run; valgrind seems to not report
8257           leaks if GST_PLUGIN_PATH is set to some specific values
8258         * check/gst/gstbin.c: (GST_START_TEST):
8259           add more refcounting checks; maybe this exposes a
8260           preroll lock bug ?
8261         * common/check.mak:
8262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8263         * gst/check/gstcheck.h:
8264         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8265         (gst_bin_change_state):
8266         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8267           add/fix debugging/whitespace
8268
8269 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8270
8271         * check/gst/gstevent.c: (event_probe), (test_event),
8272         (GST_START_TEST):
8273          Er, don't call gst_bin_watch_for_state_change you idiot.
8274
8275 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8276
8277         * check/Makefile.am:
8278           Use CHECK_CFLAGS and CHECK_LIBS
8279         * check/gst/gstevent.c: (event_probe), (test_event),
8280         (GST_START_TEST):
8281           Don't leak events.
8282         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8283         (gst_base_src_start), (gst_base_src_stop),
8284         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8285         (gst_base_src_change_state):
8286           Sprinkle gst_base_src_stop liberally around error paths to fix
8287           problems reusing a source after failed state changes.
8288         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8289         (helper_find_suggest), (gst_type_find_helper):
8290           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8291         * gst/gstevent.h:
8292         * docs/gst/tmpl/gstevent.sgml:
8293           Migrate part of the docs from the SGML file. Wait for ensonic to
8294           tell me how I did it wrong ;)
8295         * tools/gst-typefind.c: (main):
8296           Extra robustness to state changes between files.
8297
8298 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8299
8300         * check/Makefile.am:
8301           don't valgrind the controller test - it's leaking - Stefan, HELP
8302         * gst/check/gstcheck.c: (gst_check_message_error),
8303         (gst_check_chain_func), (gst_check_setup_element),
8304         (gst_check_teardown_element), (gst_check_setup_src_pad),
8305         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8306         (gst_check_teardown_sink_pad):
8307         * gst/check/gstcheck.h:
8308           add a bunch of methods to set up elements, and src and sink pads
8309         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8310         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8311         (GST_START_TEST):
8312           use them
8313         * gst/gstmessage.c:
8314         * gst/gsttag.h:
8315           whitespace/doc fixes
8316
8317 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8318
8319         * gst/gstelement.h:
8320           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8321           be handled by the application and not always printed as well
8322
8323 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8324
8325         * check/Makefile.am:
8326           set GST_TOOLS_DIR
8327         * gst/check/gstcheck.c: (gst_check_message_error):
8328         * gst/check/gstcheck.h:
8329           add a fail_unless_equals_int
8330           add fail_unless for error messages
8331
8332 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8333
8334         * check/Makefile.am:
8335         * check/gst.supp:
8336         * common/Makefile.am:
8337         * common/check.mak:
8338         * common/gst.supp:
8339           factor out some of the common stuff so we can use it
8340
8341 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8342
8343         * check/Makefile.am:
8344         * check/gst/gstiterator.c: (GST_START_TEST):
8345         * check/gst/gstsystemclock.c: (GST_START_TEST),
8346         (gst_systemclock_suite):
8347         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8348         * gst/gstclock.c:
8349           valgrind more tests
8350
8351 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8352
8353         * check/elements/.cvsignore:
8354         * check/elements/gstfakesrc.c:
8355           rename to name of element
8356         * check/elements/identity.c: (chain_func), (event_func),
8357         (setup_identity), (cleanup_identity), (GST_START_TEST),
8358         (identity_suite), (main):
8359           add a test for identity
8360         * check/Makefile.am:
8361         * pkgconfig/Makefile.am:
8362         * pkgconfig/gstreamer-check.pc.in:
8363         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8364         * gst/check:
8365         * gst/Makefile.am:
8366         * configure.ac:
8367           move the check stuff to a library that gets installed
8368         * check/gst-libs/controller.c: (GST_START_TEST):
8369         * check/gst-libs/gdp.c:
8370         * check/gst/gst.c: (GST_START_TEST):
8371         * check/gst/gstbin.c:
8372         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8373         * check/gst/gstbus.c:
8374         * check/gst/gstcaps.c: (GST_START_TEST):
8375         * check/gst/gstelement.c:
8376         * check/gst/gstghostpad.c:
8377         * check/gst/gstiterator.c:
8378         * check/gst/gstmessage.c:
8379         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8380         * check/gst/gstobject.c:
8381         * check/gst/gstpad.c: (GST_START_TEST):
8382         * check/gst/gststructure.c: (GST_START_TEST):
8383         * check/gst/gstsystemclock.c: (GST_START_TEST),
8384         (gst_systemclock_suite):
8385         * check/gst/gsttag.c: (gst_tag_suite):
8386         * check/gst/gstvalue.c:
8387         * check/pipelines/cleanup.c:
8388         * check/pipelines/simple_launch_lines.c:
8389         * check/states/sinks.c:
8390           change include statement
8391
8392         * docs/gst/gstreamer-sections.txt:
8393         * docs/gst/tmpl/gstpad.sgml:
8394           document more pad stuff
8395         * gst/gstminiobject.c: (gst_mini_object_ref),
8396         (gst_mini_object_unref):
8397           debug refcounting
8398
8399 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8400
8401         * docs/gst/tmpl/gst.sgml:
8402         * gst/gst.c:
8403           eliminate another tmpl file, fix spelling in the long-description
8404
8405 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8406
8407         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8408         (test_event), (timediff), (gstevents_suite):
8409           Should fix build on 64-bit arch's
8410
8411 2005-08-18  Andy Wingo  <wingo@pobox.com>
8412
8413         Make sure that when a pipeline goes to PLAYING, that data has
8414         actually hit the sink.
8415
8416         * check/states/sinks.c (test_sink): A sink that doesn't get any
8417         data shouldn't return SUCCESS for going to either PLAYING or
8418         PAUSED. Test also the return values on the way back down.
8419
8420         * gst/gstelement.c (gst_element_set_state): When changing the
8421         state of an element currently changing state asynchronously, go to
8422         lost-state after commiting the pending state. Makes future calls
8423         to get_state continue to return ASYNC.
8424
8425         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8426         ASYNC when going to PLAYING if we still don't have preroll, as can
8427         happen with live sources.
8428
8429 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8430
8431         * docs/pwg/advanced-types.xml:
8432           Hack long paragraph into 2 chunks as a workaround for buggy
8433           jadetex version in sid and breezy that loops infinitely and
8434           eats all RAM.
8435
8436 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8437
8438         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8439         (test_event), (timediff), (gstevents_suite):
8440           Provide more error margin in clock measurements to allow for 
8441           g_get_current_time inaccuracies.
8442
8443 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8444
8445         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8446         (test_event), (timediff), (gstevents_suite):
8447            Fix error message output so I might be able to tell why the
8448            test works here but fails on the build farm.
8449
8450 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8451
8452         * check/Makefile.am:
8453         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8454         (test_event), (timediff), (gstevents_suite), (main):
8455           I wrote a test!
8456
8457         * docs/design/part-seeking.txt:
8458           Spelling correction
8459
8460         * docs/gst/tmpl/gstevent.sgml:
8461         * docs/gst/tmpl/gstfakesrc.sgml:
8462           Docs updates.
8463
8464         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8465           Treat a buffer-without-newsegment the same as a receiving 
8466           a newsegment not in time format, and disable syncing to the clock
8467           with a warning.
8468
8469         * gst/gstbus.c: (gst_bus_set_sync_handler):
8470           Assert if anyone tries to replace the existing sync_handler for bus, 
8471           as only the owner should be setting it.
8472
8473         * gst/gstevent.h:
8474           Have a fixed set of custom event enums with events identified by
8475           their structure name (as in 0.8), rather than a free-for-all
8476           allowing collisions between enum values from different plugins.
8477
8478         * gst/gstpad.c: (gst_pad_class_init):
8479           Docs change.
8480           
8481         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8482           Handle out-of-band downstream events from the sending thread.
8483
8484 2005-08-17  Andy Wingo  <wingo@pobox.com>
8485
8486         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8487         play-timeout==0 to mean no timeout at all. In that case, don't
8488         bother with a get_state or a warning, just return directly, even
8489         if it's ASYNC.
8490
8491         * gst/base/gstbasetransform.c: Debug changes.
8492
8493         * gst/gstutils.h:
8494         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8495         ensure bins post state change messages. A bit of a hack but I can't
8496         think of a way to avoid it.
8497
8498         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8499
8500 2005-08-16  Andy Wingo  <wingo@pobox.com>
8501
8502         * gst/base/gstadapter.h:
8503         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8504         peek() but you own the data. Not terribly efficient atm.
8505
8506 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8507
8508         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8509         (gst_element_found_tags):
8510         * gst/gstutils.h:
8511           Add two utility functions for tag handling.
8512
8513 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8514
8515         * docs/manual/advanced-dataaccess.xml:
8516         * docs/manual/basics-helloworld.xml:
8517           Fix docs to use _bin_add() before _link(), which fixes the examples
8518           with recent core versions (reported by Madhan Raj M
8519           <raj_madan@rediffmail.com>, #313199).
8520
8521 2005-08-16  Wim Taymans  <wim@fluendo.com>
8522
8523         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8524         Added subtract checks.
8525
8526         * docs/design/part-events.txt:
8527         Some more docs about newsegment
8528
8529         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8530         Fix FIXME
8531
8532         * gst/gstcaps.c: (gst_caps_to_string):
8533         Add comments, cleanups.
8534         
8535         * gst/gstelement.c: (gst_element_save_thyself):
8536         cleanups
8537         
8538         * gst/gstvalue.c: (gst_value_collect_int_range),
8539         (gst_string_unwrap), (gst_value_union_int_int_range),
8540         (gst_value_union_int_range_int_range),
8541         (gst_value_intersect_int_int_range),
8542         (gst_value_intersect_int_range_int_range),
8543         (gst_value_intersect_double_double_range),
8544         (gst_value_intersect_double_range_double_range),
8545         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8546         (gst_value_subtract_int_range_int),
8547         (gst_value_subtract_double_range_double),
8548         (gst_value_subtract_double_range_double_range),
8549         (gst_value_subtract_from_list), (gst_value_subtract_list),
8550         (gst_value_can_compare), (gst_value_compare_fraction):
8551         Cleanups, add comments, remove unneeded asserts.
8552
8553 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * tools/gst-launch.c: (event_loop):
8556           don't convert NULL structures to strings
8557
8558 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8559
8560         * docs/gst/gstreamer-sections.txt:
8561           made some defines private
8562         * docs/gst/tmpl/gstconfig.sgml:
8563         * docs/gst/tmpl/gstqueue.sgml:
8564         * docs/gst/tmpl/gsttaglist.sgml:
8565         * docs/gst/tmpl/gsttypes.sgml:
8566         * docs/gst/tmpl/gstutils.sgml:
8567         * docs/pwg/appendix-porting.xml:
8568         * gst/base/gstbasesink.h:
8569         * gst/base/gstbasesrc.c:
8570         * gst/base/gstbasesrc.h:
8571         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8572         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8573         * gst/gstelement.c: (gst_element_class_init):
8574         * gst/gstpad.c: (gst_pad_class_init):
8575         * gst/gstqueue.c: (gst_queue_class_init):
8576         * gst/gstxml.c: (gst_xml_class_init):
8577           documented all undocumented signal inline
8578         * libs/gst/controller/gst-controller.h:
8579           added padding
8580
8581 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8582
8583         * docs/pwg/appendix-porting.xml:
8584           Document _set_link_function -> _set_setcaps_function.
8585
8586 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         * check/Makefile.am:
8589           add a .check target for running the check
8590         * check/gst-libs/controller.c: (GST_START_TEST):
8591           cosmetic fixups
8592         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8593           complete checks for gstbuffer; would be nice if I could get the
8594           gcov stuff to work so I can see if I actually completed gstbuffer.c
8595         * check/gstcheck.h:
8596           add ASSERT_BUFFER_REFCOUNT
8597
8598 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8599
8600         * docs/gst/gstreamer-sections.txt:
8601         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8602         * gst/gsttag.h:
8603           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8604           spew out a warning if a tag that is already registered
8605           is re-registered, unless it is re-registered with a 
8606           different type (#308438).
8607
8608 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8609
8610         * docs/pwg/appendix-porting.xml:
8611         * docs/pwg/building-state.xml:
8612           Add some paragraphs about state changes in 0.9 to the PWG
8613           and the porting guide, in particular about the new meaning
8614           of GST_STATE_PAUSED and how to write state change functions
8615           with concurrent access by multiple threads in mind.
8616
8617 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8618
8619         * docs/gst/gstreamer-docs.sgml:
8620         * docs/libs/gstreamer-libs-docs.sgml:
8621           added deprecation and since indexes
8622         * libs/gst/controller/gst-controller.c:
8623         * libs/gst/controller/gst-helper.c:
8624           added since tags
8625
8626
8627 2005-08-11  Wim Taymans  <wim@fluendo.com>
8628
8629         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8630         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8631         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8632         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8633         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8634         (gst_ghost_pad_set_target):
8635         Actually implement (re)setting the target on a ghostpad
8636         as described in the docs.
8637
8638 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8639
8640         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8641           Check whether GST_DEBUG_NO_COLOR environment variable is
8642           set and disable coloured debug output if that is the case.
8643
8644 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8645
8646         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8647         (gst_type_find_helper):
8648           The memory returned by gst_type_find_peek() needs to
8649           stay valid until the end of a typefind function, and
8650           typefind functions may keep results from different 
8651           offsets around, so we can't just unref the buffer from
8652           the previous _peek(), but have to save all buffers 
8653           returned by _peek() until typefinding is done and only
8654           free them then.
8655
8656 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8657
8658         * docs/gst/gstreamer-sections.txt:
8659         * gst/gstutils.h:
8660           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8661
8662 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8663
8664         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8665           Fix a pretty good memleak.
8666
8667 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8668
8669         * gst/gstiterator.h:
8670           Fix wrong include and 'make distcheck'.
8671
8672 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8673
8674         * gst/gstbin.c: (bin_bus_handler):
8675           Use gst_element_post_message() instead.
8676
8677 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8678
8679         * gst/base/gstadapter.h:
8680         * gst/base/gstbasesink.h:
8681         * gst/base/gstbasesrc.h:
8682         * gst/base/gstbasetransform.h:
8683         * gst/base/gstcollectpads.h:
8684         * gst/base/gstpushsrc.h:
8685         * gst/gstiterator.h:
8686           Add padding to our base elements' class and instance structs and
8687           to GstIterator (you will need to rebuild all plugins and apps!)
8688
8689 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8690
8691         * gst/gstbin.c: (bin_bus_handler):
8692           Make default message forwarding from child->bus to bin->bus
8693           threadsafe and make it not emit warnings if the parent has no bus.
8694
8695 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8696
8697         * gst/gstelement.c: (activate_pads):
8698           On paused->ready, set pad->caps to NULL, as is the documented
8699           behaviour in this state change. Fixes playback of series of
8700           media files when visualization is enabled in Totem.
8701
8702 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8703
8704         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8705           Allow NULL as filter-caps (which means "any").
8706
8707 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8708
8709         * docs/libs/gstreamer-libs-sections.txt:
8710         * libs/gst/controller/gst-controller.c:
8711         * libs/gst/controller/gst-controller.h:
8712         * libs/gst/controller/gst-helper.c:
8713           adding more entries to the docs and fix small doc-bugs
8714
8715 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8716
8717         * docs/gst/gstreamer-docs.sgml:
8718         * docs/gst/gstreamer-sections.txt:
8719         * docs/gst/gstreamer.types:
8720         * docs/gst/tmpl/gstbasesink.sgml:
8721         * docs/gst/tmpl/gstbasesrc.sgml:
8722         * docs/gst/tmpl/gstbasetransform.sgml:
8723         * docs/gst/tmpl/gstfakesrc.sgml:
8724         * gst/base/gstcollectpads.c:
8725         * gst/base/gstcollectpads.h:
8726         * libs/gst/controller/gst-controller.c:
8727         * libs/gst/controller/gst-controller.h:
8728         * libs/gst/controller/gst-helper.c:
8729         * libs/gst/controller/gst-interpolation.c:
8730         * libs/gst/controller/lib.c:
8731           added long/short desc for controller docs
8732           added collectpads base class docs
8733           added correct includes to base-class docs
8734
8735 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8736
8737         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8738         (gst_test_mono_source_set_property),
8739         (gst_test_mono_source_class_init), (GST_START_TEST),
8740         (gst_controller_suite):
8741         * docs/gst/gstreamer-docs.sgml:
8742         * docs/gst/gstreamer-sections.txt:
8743         * docs/gst/gstreamer.types:
8744         * docs/libs/gstreamer-libs-docs.sgml:
8745         * docs/libs/gstreamer-libs-sections.txt:
8746         * gst/base/gstadapter.c:
8747         * libs/gst/controller/gst-controller.c:
8748         (gst_controlled_property_new), (gst_controlled_property_free),
8749         (gst_controller_new_valist),
8750         (gst_controller_remove_properties_valist),
8751         (gst_controller_sink_values), (_gst_controller_finalize):
8752         * libs/gst/controller/gst-controller.h:
8753         * libs/gst/controller/gst-helper.c:
8754         (gst_object_control_properties), (gst_object_uncontrol_properties),
8755         (gst_object_get_controller), (gst_object_set_controller),
8756         (gst_object_sink_values), (gst_object_get_value_arrays),
8757         (gst_object_get_value_array):
8758           more tests (and fixes) for the controller
8759           more docs for the controller
8760           integrated companies docs for the adapter 
8761
8762 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8763
8764         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8765         (GST_START_TEST), (fakesrc_suite):
8766           add tests for sizetype
8767
8768 2005-08-04  Andy Wingo  <wingo@pobox.com>
8769
8770         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8771         fixes buffer_alloc proxying among other things.
8772
8773         * gst/base/gstbasetransform.c:
8774         * gst/base/gstbasetransform.h:
8775         Revert patch to gstbasetransform from 7-28 removing
8776         delay_configure.
8777
8778         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8779         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8780         Semantics changed, should return not the size of the output buffer
8781         but the byte size of a buffer with a given caps.
8782
8783         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8784         debug object.
8785         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8786         out) are not the pad caps until setcaps finishes.
8787         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8788         not-in-place case as well. Deal with changing from in-place to
8789         not-in-place within calling pad_alloc_buffer. Still a bit
8790         concerned about the overhead here...
8791
8792 2005-08-03  Andy Wingo  <wingo@pobox.com>
8793
8794         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8795         fixating is an error.
8796
8797 2005-08-04  Edward Hervey  <edward@fluendo.com>
8798
8799         * gst/base/gstadapter.h: 
8800         Added gst_adapter_get_type() to the header
8801
8802 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8803
8804         * check/Makefile.am:
8805         * check/gst-libs/controller.c:
8806         * libs/gst/controller/gst-controller.c:
8807         (gst_controller_new_valist):
8808           added check test suite for the controller
8809         * gst/base/gstpushsrc.c:
8810           fixed a doc typo
8811
8812 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8813
8814         * docs/gst/Makefile.am:
8815         * docs/gst/gstreamer-docs.sgml:
8816         * docs/gst/gstreamer-sections.txt:
8817         * docs/gst/gstreamer.types:
8818         * docs/gst/tmpl/gstfakesrc.sgml:
8819         * gst/base/README:
8820         * gst/base/gstbasesink.c:
8821         * gst/base/gstbasesink.h:
8822         * gst/base/gstbasesrc.c:
8823         * gst/base/gstbasesrc.h:
8824         * gst/base/gstbasetransform.c:
8825         * gst/base/gstpushsrc.c:
8826         * gst/base/gstpushsrc.h:
8827           add short/long description docs to base classes
8828           add pushsrc to the docs
8829           remove consolidated doc fragments
8830
8831 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8832
8833         * configure.ac:
8834         * docs/libs/Makefile.am:
8835         * docs/libs/gstreamer-libs-docs.sgml:
8836         * docs/libs/gstreamer-libs-sections.txt:
8837         * docs/libs/gstreamer-libs.types:
8838         * examples/Makefile.am:
8839         * examples/controller/.cvsignore:
8840         * examples/controller/Makefile.am:
8841         * examples/controller/audio-example.c: (main):
8842         * libs/gst/Makefile.am:
8843         * libs/gst/controller/.cvsignore:
8844         * libs/gst/controller/Makefile.am:
8845         * libs/gst/controller/gst-controller.c:
8846         (on_object_controlled_property_changed), (gst_timed_value_compare),
8847         (gst_timed_value_find),
8848         (gst_controlled_property_set_interpolation_mode),
8849         (gst_controlled_property_new), (gst_controlled_property_free),
8850         (gst_controller_find_controlled_property),
8851         (gst_controller_new_valist), (gst_controller_new),
8852         (gst_controller_remove_properties_valist),
8853         (gst_controller_remove_properties), (gst_controller_set),
8854         (gst_controller_set_from_list), (gst_controller_unset),
8855         (gst_controller_get), (gst_controller_get_all),
8856         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8857         (gst_controller_get_value_array),
8858         (gst_controller_set_interpolation_mode),
8859         (_gst_controller_finalize), (_gst_controller_init),
8860         (_gst_controller_class_init), (gst_controller_get_type):
8861         * libs/gst/controller/gst-controller.h:
8862         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8863         (g_object_uncontrol_properties), (g_object_get_controller),
8864         (g_object_set_controller), (g_object_sink_values),
8865         (g_object_get_value_arrays), (g_object_get_value_array):
8866         * libs/gst/controller/gst-interpolation.c:
8867         (gst_controlled_property_find_timed_value_node),
8868         (interpolate_none_get), (interpolate_trigger_get),
8869         (interpolate_trigger_get_value_array):
8870         * libs/gst/controller/lib.c: (gst_controller_init):
8871         * pkgconfig/Makefile.am:
8872         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8873         * pkgconfig/gstreamer-control.pc.in:
8874         * testsuite/Makefile.am:
8875         * testsuite/controller/.cvsignore:
8876         * testsuite/controller/Makefile.am:
8877         * testsuite/controller/interpolator.c: (main):
8878           added controller code
8879           removed dparam pc files
8880
8881 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8882         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8883         (gst_collectpads_stop):
8884           Broadcast the condition when shutting down, to make sure we wake all
8885           threads up. Shut down pads on finalize, for safety.
8886
8887 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8888         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8889         (gst_base_transform_handle_buffer),
8890         (gst_base_transform_change_state):
8891           Handle PAUSED->READY->PAUSED transition after negotiation
8892           occurred already.
8893         * gst/gstmessage.c: (gst_message_init):
8894           Extra piece of debug for new messages.
8895
8896 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8897
8898         * configure.ac:
8899         * docs/gst/tmpl/gstbasesrc.sgml:
8900         * docs/gst/tmpl/gstelement.sgml:
8901         * docs/gst/tmpl/gstevent.sgml:
8902         * docs/gst/tmpl/gstfakesrc.sgml:
8903         * docs/gst/tmpl/gstformat.sgml:
8904         * docs/gst/tmpl/gstghostpad.sgml:
8905         * docs/gst/tmpl/gstpad.sgml:
8906         * docs/gst/tmpl/gstquery.sgml:
8907         * docs/gst/tmpl/gststructure.sgml:
8908         * docs/gst/tmpl/gsttaglist.sgml:
8909         * docs/gst/tmpl/gstvalue.sgml:
8910         * docs/libs/gstreamer-libs-docs.sgml:
8911         * docs/libs/gstreamer-libs-sections.txt:
8912         * docs/libs/gstreamer-libs.types:
8913         * libs/gst/Makefile.am:
8914         * libs/gst/control/.cvsignore:
8915         * libs/gst/control/Makefile.am:
8916         * libs/gst/control/control.c:
8917         * libs/gst/control/control.h:
8918         * libs/gst/control/dparam.c:
8919         * libs/gst/control/dparam.h:
8920         * libs/gst/control/dparam_smooth.c:
8921         * libs/gst/control/dparam_smooth.h:
8922         * libs/gst/control/dparamcommon.h:
8923         * libs/gst/control/dparammanager.c:
8924         * libs/gst/control/dparammanager.h:
8925         * libs/gst/control/dplinearinterp.c:
8926         * libs/gst/control/dplinearinterp.h:
8927         * libs/gst/control/unitconvert.c:
8928         * libs/gst/control/unitconvert.h:
8929         * testsuite/Makefile.am:
8930         * testsuite/dynparams/.cvsignore:
8931         * testsuite/dynparams/Makefile.am:
8932         * testsuite/dynparams/dparamstest.c:
8933         * tools/Makefile.am:
8934         * tools/gst-inspect.c: (print_element_info), (main):
8935         * tools/gst-xmlinspect.c: (print_element_info), (main):
8936           deactivate and remove dparams (libgstcontrol)
8937
8938 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8939
8940         * gst/elements/gsttypefindelement.c:
8941         (gst_type_find_element_have_type), (gst_type_find_element_init),
8942         (stop_typefinding), (gst_type_find_element_handle_event),
8943         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8944         * gst/elements/gsttypefindelement.h:
8945           Set caps on all outgoing buffers, not just the first one.
8946
8947 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8948
8949         * gst/elements/gsttypefindelement.c:
8950         (gst_type_find_element_have_type),
8951         (gst_type_find_element_check_set_buffer_caps),
8952         (gst_type_find_element_init), (stop_typefinding),
8953         (gst_type_find_element_handle_event),
8954         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8955         * gst/elements/gsttypefindelement.h:
8956           Set caps on first outgoing buffer when we've found the type.
8957
8958 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8959
8960         * docs/gst/gstreamer-docs.sgml:
8961         * docs/gst/gstreamer-sections.txt:
8962         * docs/gst/tmpl/gstscheduler.sgml:
8963         * docs/gst/tmpl/gstschedulerfactory.sgml:
8964           Remove some old cruft from docs.
8965
8966 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8967
8968         * gst/gstpad.h:
8969           Fix inline docs for GstPadLinkReturn.
8970           
8971         * gst/gststructure.c: (gst_structure_has_name):
8972         * gst/gststructure.h:
8973         * docs/gst/gstreamer-sections.txt:
8974           New API: gst_structure_has_name().
8975
8976 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8977
8978         * configure.ac:
8979           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8980           and _LARGEFILE_SOURCE in config.h as required. Do not 
8981           export those flags in our .pc files any longer (#142209).
8982
8983           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8984
8985         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8986         (gst_file_sink_do_seek), (gst_file_sink_event),
8987         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8988           Redo seek/tell calls with large file support in mind; add some
8989           debugging messages; add log message that tells us when large
8990           file support is unavailable or not enabled for some reason.
8991
8992         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8993           Add log message that tells us when large file support 
8994           is unavailable or not enabled for some reason.
8995
8996 2005-07-29  Wim Taymans  <wim@fluendo.com>
8997
8998         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8999         Added test for removing an element with ghostpad from a bin.
9000         Fixed test as current implementation does the right thing.
9001
9002         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9003         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9004         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9005         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9006         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9007         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9008         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9009         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9010         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9011         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9012         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9013         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9014         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9015         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9016         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9017         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9018         * gst/gstghostpad.h:
9019         Clean up ghostpads, remove properties for internal stuff.
9020         Make threadsafe.
9021         Fix refcounting.
9022         Prepare for switching targets, not all use cases work yet.
9023
9024 2005-07-29  Wim Taymans  <wim@fluendo.com>
9025
9026         * docs/design/part-gstghostpad.txt:
9027         Small update.
9028
9029         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9030         (gst_bin_remove_func):
9031         Unlinking pads while holding the bin LOCK is not a good
9032         idea.
9033
9034         * gst/gstpad.c: (gst_pad_class_init),
9035         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9036         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9037         No prob setting template after creating the pad.
9038
9039 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9040
9041         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9042         (gst_bus_peek), (gst_bus_source_dispatch),
9043         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9044         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9045           gst_bus_poll may be called from other threads. Handle
9046           this nicely by not making poll_data disappear off the
9047           stack once gst_bus_poll returns.
9048           gst_bus_peek now increments the refcount on the returned
9049           message.
9050
9051 2005-07-29  Wim Taymans  <wim@fluendo.com>
9052
9053         * docs/design/part-gstghostpad.txt:
9054         Overview of current GhostPad datastructures and use
9055         cases for changing the target.
9056
9057 2005-07-28  Wim Taymans  <wim@fluendo.com>
9058
9059         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9060         Added checks for hierarchy consistency whan adding linked
9061         elements to bins.
9062
9063         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9064         Added check to test element scheduling without bin/pipeline.
9065
9066         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9067         First add elements to bin, then link.
9068         
9069         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9070         (gst_bin_remove_func):
9071         Unlink pads from elements added/removed from bin to maintain
9072         hierarchy consistency.
9073
9074 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9075
9076         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9077         (gst_base_transform_handle_buffer):
9078         * gst/base/gstbasetransform.h:
9079           Remove broken delay_configure (fixes renegotiation of software
9080           scaling pipelines); remove some leftover printf()s.
9081
9082 2005-07-28  Wim Taymans  <wim@fluendo.com>
9083
9084         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9085         Added some more tests for wrong hierarchy
9086
9087         * docs/design/part-overview.txt:
9088         Some updates.
9089
9090         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9091         Cleanups.
9092
9093         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9094         (gst_element_dispose):
9095         Some more cleanups.
9096
9097         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9098         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9099         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9100         (gst_pad_set_caps), (gst_pad_send_event):
9101         Check for correct hierarchy when linking pads. Moving to
9102         strict requirement for ghostpads when linking elements in
9103         different bins.
9104
9105         * gst/gstpad.h:
9106         Clean ups. Added WRONG_HIERARCHY return value.
9107
9108 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9109
9110         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9111           Better debug if no transform is possible.
9112
9113 2005-07-27  Wim Taymans  <wim@fluendo.com>
9114
9115         * docs/random/wtay/network-transp:
9116         Some old doc I had.
9117
9118 2005-07-27  Wim Taymans  <wim@fluendo.com>
9119
9120         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9121         (gst_dp_event_from_packet):
9122         Fix serialization of seek events.
9123
9124 2005-07-27  Wim Taymans  <wim@fluendo.com>
9125
9126         * check/gst-libs/gdp.c: (GST_START_TEST):
9127         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9128         Fix compilation and fix event serialization.
9129
9130 2005-07-27  Wim Taymans  <wim@fluendo.com>
9131
9132         * CHANGES-0.9:
9133         * docs/design/part-TODO.txt:
9134         * docs/design/part-events.txt:
9135         Some docs updates
9136
9137         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9138         (gst_base_sink_event), (gst_base_sink_do_sync),
9139         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9140         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9141         (gst_base_src_do_seek), (gst_base_src_event_handler),
9142         (gst_base_src_loop):
9143         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9144         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9145         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9146         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9147         (gst_base_transform_set_passthrough),
9148         (gst_base_transform_is_passthrough):
9149         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9150         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9151         Event updates.
9152
9153         * gst/gstbuffer.h:
9154         Use faster casts.
9155
9156         * gst/gstelement.c: (gst_element_seek):
9157         * gst/gstelement.h:
9158         Update gst_element_seek.
9159
9160         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9161         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9162         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9163         (gst_event_new_eos), (gst_event_new_newsegment),
9164         (gst_event_parse_newsegment), (gst_event_new_tag),
9165         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9166         (gst_event_parse_qos), (gst_event_new_seek),
9167         (gst_event_parse_seek), (gst_event_new_navigation):
9168         * gst/gstevent.h:
9169         Make GstEvent use GstStructure. Add parsing code, make sure the
9170         API is sufficiently generic.
9171         Mark possible directions of events and serialization.
9172
9173         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9174         (_gst_message_copy), (gst_message_new_segment_start),
9175         (gst_message_new_segment_done), (gst_message_new_custom),
9176         (gst_message_parse_segment_start),
9177         (gst_message_parse_segment_done):
9178         Small cleanups.
9179
9180         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9181         (gst_pad_set_caps), (gst_pad_send_event):
9182         Update for new events. 
9183         Catch events sent in wrong directions.
9184
9185         * gst/gstqueue.c: (gst_queue_link_src),
9186         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9187         (gst_queue_handle_src_query):
9188         Event updates.
9189
9190         * gst/gsttag.c:
9191         * gst/gsttag.h:
9192         Remove event code from this file.
9193
9194         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9195         (gst_dp_event_from_packet):
9196         Event updates.
9197
9198 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9199
9200         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9201         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9202         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9203           Make debugging actually useful.
9204
9205 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9206
9207         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9208         (gst_pad_fixate_caps):
9209           Implement default fixation once again, so that gst_pad_fixate()
9210           actually does anything at all. This probably needs to be some
9211           sort of a last resort, and use profile-based fixation first, but
9212           since that doesn't exist yet, this is the best we have. Fixes
9213           visualization in Totem.
9214
9215 2005-07-22  Wim Taymans  <wim@fluendo.com>
9216
9217         * docs/design/part-events.txt:
9218         Small update.
9219
9220         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9221         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9222         (gst_base_sink_activate_pull):
9223         Some more comments.
9224
9225         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9226         (gst_fake_src_create):
9227         Fix handoff marshall.
9228
9229         * gst/elements/gstidentity.c: (gst_identity_class_init),
9230         (gst_identity_transform_ip):
9231         We're a real inplace element.
9232
9233         * gst/gstbus.c: (gst_bus_post):
9234         Added some comments.
9235
9236         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9237         * tests/muxing/case1.c: (main):
9238         * tests/sched/dynamic-pipeline.c: (main):
9239         * tests/sched/interrupt1.c: (main):
9240         * tests/sched/interrupt2.c: (main):
9241         * tests/sched/interrupt3.c: (main):
9242         * tests/sched/runxml.c: (main):
9243         * tests/sched/sched-stress.c: (main):
9244         * tests/seeking/seeking1.c: (event_received), (main):
9245         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9246         (main):
9247         * tests/threadstate/threadstate3.c: (main):
9248         * tests/threadstate/threadstate4.c: (main):
9249         * tests/threadstate/threadstate5.c: (main):
9250         Fix the tests.
9251
9252 2005-07-21  Wim Taymans  <wim@fluendo.com>
9253
9254         * docs/design/part-seeking.txt:
9255         Some small additions.
9256
9257         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9258         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9259         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9260         * gst/base/gstbasesink.h:
9261         discont values are gint64, handle the math correctly.
9262
9263         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9264         Make the basesrc report error if the source pad is not linked.
9265
9266         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9267         (gst_queue_loop), (gst_queue_handle_src_query),
9268         (gst_queue_src_activate_push):
9269         Make queue collect data even if the srcpad is not linked.
9270         Start pushing out data as soon as it is linked.
9271
9272         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9273         * gst/gstutils.h:
9274         Added gst_flow_get_name() to ease error reporting.
9275
9276 2005-07-20  Wim Taymans  <wim@fluendo.com>
9277
9278         * gst/gstmessage.c: (gst_message_new_segment_start),
9279         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9280         (gst_message_parse_segment_done):
9281         * gst/gstmessage.h:
9282         Added a bunch of messages for advanced seeking.
9283
9284         * gst/parse/grammar.y:
9285         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9286         (gst_dpman_state_changed):
9287         Fix some new-pad -> pad-added signals
9288
9289 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9290
9291         * docs/manual/appendix-porting.xml:
9292         * docs/pwg/appendix-porting.xml:
9293           Document new-pad/state-change signal renames and the FixedList
9294           type rename.
9295
9296 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9297
9298         * docs/manual/advanced-autoplugging.xml:
9299         * docs/manual/basics-helloworld.xml:
9300         * docs/manual/basics-pads.xml:
9301         * docs/random/ds/0.9-suggested-changes:
9302         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9303         * gst/gstelement.h:
9304         * gst/gstevent.h:
9305         * gst/gstformat.h:
9306         * gst/gstquery.h:
9307         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9308         (gst_structure_parse_array), (gst_structure_parse_value):
9309         * gst/gstvalue.c: (gst_type_is_fixed),
9310         (gst_value_list_prepend_value), (gst_value_list_append_value),
9311         (gst_value_list_get_size), (gst_value_list_get_value),
9312         (gst_value_transform_array_string), (gst_value_serialize_array),
9313         (gst_value_deserialize_array), (gst_value_intersect_array),
9314         (gst_value_is_fixed), (_gst_value_initialize):
9315         * gst/gstvalue.h:
9316           GstElement::new-pad -> pad-added, GstElement::state-change ->
9317           state-changed, GstValueFixedList -> GstValueArray, add format and
9318           flags as their own arguments in gst_element_seek() (should improve
9319           "bindeability"), remove function generators since they don't work
9320           under a whole bunch of compilers (they were deprecated already
9321           anyway).
9322
9323 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9324
9325         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9326         (_gst_debug_register_funcptr):
9327         * gst/gstinfo.h:
9328           Fix illegal cast on some platforms (#309253).
9329
9330 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9331
9332         * gst/gstmessage.c: (gst_message_new_custom):
9333         * gst/gstmessage.h:
9334           Add _new_custom, make _new_application a macro to _new_custom.
9335
9336 2005-07-20  Wim Taymans  <wim@fluendo.com>
9337
9338         * gst/base/gstbasesrc.c: (gst_base_src_init),
9339         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9340         * gst/base/gstbasesrc.h:
9341         Add a gboolean to decide when to push out a discont.
9342
9343         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9344         (gst_queue_loop), (gst_queue_handle_src_query),
9345         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9346         (gst_queue_set_property), (gst_queue_get_property):
9347         Some cleanups.
9348
9349         * tests/threadstate/threadstate1.c: (main):
9350         Make a thread test compile and run... very silly..
9351
9352
9353 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9354
9355         * docs/manual/appendix-porting.xml:
9356           Mention removal of libgstgconf-0.9.la and existence of gconf
9357           elements.
9358
9359 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9360
9361         * docs/pwg/advanced-clock.xml:
9362         * docs/pwg/appendix-porting.xml:
9363         * docs/pwg/intro-preface.xml:
9364         * docs/pwg/other-base.xml:
9365         * docs/pwg/other-manager.xml:
9366         * docs/pwg/other-nton.xml:
9367         * docs/pwg/other-ntoone.xml:
9368         * docs/pwg/other-oneton.xml:
9369         * docs/pwg/pwg.xml:
9370           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9371           demuxer), remove n-to-n (was never written), fix some code examples
9372           and links and update the porting section to include all this.
9373
9374 2005-07-19  Wim Taymans  <wim@fluendo.com>
9375
9376         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9377         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9378         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9379         (gst_queue_src_activate_push), (gst_queue_change_state),
9380         (gst_queue_get_property):
9381         * gst/gstqueue.h:
9382         Propagate GstFlowReturn more intelligently upstream and output
9383         an ERROR/EOS when streaming stopped due to fatal error.
9384
9385 2005-07-19  Wim Taymans  <wim@fluendo.com>
9386
9387         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9388         Don't block forever for the state change to complete, the
9389         pipeline already did with a sensible timeout.
9390
9391 2005-07-19  Wim Taymans  <wim@fluendo.com>
9392
9393         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9394         Make sure we never call the create function is we
9395         got deactivated.
9396
9397 2005-07-19  Andy Wingo  <wingo@pobox.com>
9398
9399         * gst/parse/parse.l: Attempt to solve bug #172815.
9400
9401 2005-07-19  Wim Taymans  <wim@fluendo.com>
9402
9403         * docs/design/part-clocks.txt:
9404         * docs/design/part-events.txt:
9405         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9406         Small docs updates.
9407         Only update the seeking values when we are not
9408         busy streaming.
9409
9410 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9411
9412         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9413           Oops, ignore the result of gst_pad_push_event here.
9414
9415 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9416
9417         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9418         (gst_base_src_activate_push):
9419           Send discont event from the loop function, as pads
9420           aren't activated yet in the activate_push handler.
9421
9422         * gst/gstbin.c: (bin_bus_handler):
9423           Don't leak element name.
9424
9425 2005-07-18  Andy Wingo  <wingo@pobox.com>
9426
9427         * configure.ac: Use AS_LIBTOOL_TAGS.
9428
9429 2005-07-18  Wim Taymans  <wim@fluendo.com>
9430
9431         * docs/gst/gstreamer.types:
9432         Remove deleted types.
9433
9434 2005-07-18  Wim Taymans  <wim@fluendo.com>
9435
9436         * check/elements/gstfakesrc.c: (GST_START_TEST):
9437         * configure.ac:
9438         * gst/Makefile.am:
9439         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9440         (init_popt_callback):
9441         * gst/gst.h:
9442         * gst/gst_private.h:
9443         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9444         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9445         * gst/gstbin.h:
9446         * gst/gstbus.h:
9447         * gst/gstconfig.h.in:
9448         * gst/gstelement.c: (gst_element_class_init),
9449         (gst_element_set_base_time), (gst_element_get_base_time),
9450         (iterator_fold_with_resync), (gst_element_change_state),
9451         (gst_element_dispose), (gst_element_get_bus):
9452         * gst/gstelement.h:
9453         * gst/gstelementfactory.h:
9454         * gst/gsterror.c: (_gst_core_errors_init):
9455         * gst/gsterror.h:
9456         * gst/gstevent.h:
9457         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9458         * gst/gstindex.c:
9459         * gst/gstinfo.c: (_gst_debug_init):
9460         * gst/gstmessage.c: (_gst_message_copy):
9461         * gst/gstmessage.h:
9462         * gst/gstminiobject.h:
9463         * gst/gstobject.c:
9464         * gst/gstobject.h:
9465         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9466         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9467         * gst/gstpad.h:
9468         * gst/gstparse.h:
9469         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9470         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9471         (gst_pipeline_get_last_stream_time):
9472         * gst/gstpipeline.h:
9473         * gst/gstpluginfeature.h:
9474         * gst/gstquery.h:
9475         * gst/gstscheduler.c:
9476         * gst/gstscheduler.h:
9477         * gst/gststructure.h:
9478         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9479         (gst_task_finalize), (gst_task_func), (gst_task_create),
9480         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9481         (gst_task_stop), (gst_task_pause):
9482         * gst/gsttask.h:
9483         * gst/gsttypefind.h:
9484         * gst/gsttypes.h:
9485         * gst/registries/gstlibxmlregistry.c: (load_feature),
9486         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9487         * gst/registries/gstxmlregistry.c:
9488         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9489         * gst/schedulers/threadscheduler.c:
9490         * libs/gst/control/dparammanager.h:
9491         * tools/gst-inspect.c: (print_element_list),
9492         (print_plugin_features), (print_element_features):
9493         * tools/gst-xmlinspect.c: (print_element_list),
9494         (print_plugin_info), (main):
9495         Removed plugable schedulers.
9496         Removed Scheduler/Manager from elements.
9497         Removed gsttypes.h, rearranged includes.
9498         Removed dependency pad<->element, element<>pipeline, and
9499         various others,  fix includes.
9500         implement gst_pad_get_parent() with gst_object_get_parent()
9501         Make GstTask sefcontained.
9502         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9503         timeout.
9504         Fix endless loop in iterator_fold_with_resync.
9505
9506
9507 2005-07-18  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/Makefile.am:
9510         * gst/gstarch.h:
9511         Remove old file.
9512
9513 2005-07-18  Wim Taymans  <wim@fluendo.com>
9514
9515         * gst/Makefile.am:
9516         No more cothreads.h
9517
9518 2005-07-18  Wim Taymans  <wim@fluendo.com>
9519
9520         * gst/cothreads.c:
9521         * gst/cothreads.h:
9522         Let's remove these.
9523
9524 2005-07-18  Wim Taymans  <wim@fluendo.com>
9525
9526         * docs/design/part-dynamic.txt:
9527         * docs/design/part-events.txt:
9528         * docs/design/part-seeking.txt:
9529         Some more docs in the works.
9530
9531         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9532         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9533         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9534         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9535         (gst_base_transform_handle_buffer),
9536         (gst_base_transform_sink_activate_push),
9537         (gst_base_transform_src_activate_pull),
9538         (gst_base_transform_set_passthrough),
9539         (gst_base_transform_is_passthrough):
9540         Refcounting fixes.
9541
9542         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9543         Cleanups.
9544
9545         * gst/gstevent.c: (gst_event_finalize):
9546         Set SRC to NULL.
9547
9548         * gst/gstutils.c: (gst_element_unlink),
9549         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9550         (gst_pad_proxy_setcaps):
9551         * gst/gstutils.h:
9552         Add _get_parent_element() to get a pads parent as an element.
9553
9554 2005-07-18  Wim Taymans  <wim@fluendo.com>
9555
9556         * check/gst/gstbin.c: (GST_START_TEST):
9557         Remove bogus test.
9558
9559 2005-07-18  Wim Taymans  <wim@fluendo.com>
9560
9561         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9562         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9563         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9564         (gst_base_sink_event), (gst_base_sink_do_sync),
9565         (gst_base_sink_chain), (gst_base_sink_loop),
9566         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9567         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9568         Refcounting fixes.
9569         Fix logic for returning ASYNC when not prerolled.
9570
9571 2005-07-18  Wim Taymans  <wim@fluendo.com>
9572
9573         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9574         Fix nasty refcount bug.
9575
9576 2005-07-16 Philippe Khalaf <burger@speedy.org>
9577
9578         * gst/elements/gstfdsrc.c:
9579         * gst/elements/gstfdsrc.h:
9580         * gst/elements/gstelements.c:
9581         * gst/elements/Makefile.am:
9582         Ported fdsrc to 0.9.
9583
9584 2005-07-16  Wim Taymans  <wim@fluendo.com>
9585
9586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9587         (gst_base_sink_do_sync):
9588         Fix compile error.
9589
9590 2005-07-16  Wim Taymans  <wim@fluendo.com>
9591
9592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9593         (gst_base_sink_event), (gst_base_sink_get_times),
9594         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9595         * gst/base/gstbasesink.h:
9596         Store and use discont values when syncing buffers as described
9597         in design docs.
9598         
9599         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9600         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9601         (gst_base_src_activate_push):
9602         Push discont event when starting.
9603
9604         * gst/elements/gstidentity.c: (gst_identity_transform):
9605         Small cleanups.
9606
9607         * gst/gstbin.c: (gst_bin_change_state):
9608         Small cleanups in base_time  distribution.
9609
9610         * gst/gstelement.c: (gst_element_set_base_time),
9611         (gst_element_get_base_time), (gst_element_change_state):
9612         * gst/gstelement.h:
9613         Added methods for the base_time of the element.
9614         Some MT fixes.
9615
9616         * gst/gstpipeline.c: (gst_pipeline_send_event),
9617         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9618         (gst_pipeline_get_last_stream_time):
9619         * gst/gstpipeline.h:
9620         MT fixes.
9621         Handle seeking as described in design doc, remove stream_time
9622         hack.
9623         Cleanups clock and stream_time selection code. Added accessors
9624         for the stream_time.
9625         
9626
9627 2005-07-16  Andy Wingo  <wingo@pobox.com>
9628
9629         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9630         (#305291).
9631
9632 2005-07-16  Wim Taymans  <wim@fluendo.com>
9633
9634         * check/gst/gstbin.c: (GST_START_TEST):
9635         Make elements silent as the deep_notify refs the
9636         parent, which might make the test fail.
9637
9638         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9639         Don't hold the lock for too long.
9640
9641 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9642
9643         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9644           Don't unref the caps we passed to gst_caps_make_writable() after
9645           passing them. gst_caps_make_writable() will do that for us.
9646
9647 2005-07-15  Andy Wingo  <wingo@pobox.com>
9648
9649         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9650         (#157311).
9651
9652         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9653         own marshalling function for the handoff signal. Properly type the
9654         buffer as a buffer. Fixes some warnings. Should do a more general
9655         solution.
9656         (gst_identity_class_init): Plug into the right marshaller.
9657
9658 2005-07-15  Wim Taymans  <wim@fluendo.com>
9659
9660         * docs/design/part-TODO.txt:
9661         * docs/design/part-clocks.txt:
9662         * docs/design/part-element-sink.txt:
9663         * docs/design/part-events.txt:
9664         * docs/design/part-gstpipeline.txt:
9665         Updated docs, mostly DISCONT related.
9666
9667 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9668
9669         * docs/pwg/building-pads.xml:
9670           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9671
9672 2005-07-15  Andy Wingo  <wingo@pobox.com>
9673
9674         * tools/gst-typefind.c: Update, add copyright block.
9675
9676         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9677         Normalize and truncate caps before fixation.
9678
9679         * gst/gstcaps.h:
9680         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9681         discards all but the first structure from its argument.
9682
9683 2005-07-15  Wim Taymans  <wim@fluendo.com>
9684
9685         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9686         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9687         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9688         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9689         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9690         (gst_base_transform_chain), (gst_base_transform_change_state),
9691         (gst_base_transform_set_passthrough),
9692         (gst_base_transform_is_passthrough):
9693         * gst/base/gstbasetransform.h:
9694         Make passthrough work using the bufferpools.
9695         Changed API a bit, subclasses have to write into a buffer
9696         provided by the base class.
9697         More debug info in nego functions.
9698         
9699         * gst/elements/gstidentity.c: (gst_identity_init),
9700         (gst_identity_transform):
9701         Port to new base class.
9702
9703 2005-07-15  Wim Taymans  <wim@fluendo.com>
9704
9705         * gst/gstmessage.c: (gst_message_new_state_changed):
9706         * tools/gst-launch.c: (event_loop), (main):
9707         Totally dump messages in -launch with the -m option.
9708         Fix message name for State messages,
9709
9710 2005-07-14  Wim Taymans  <wim@fluendo.com>
9711
9712         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9713         Post error messages on errors.
9714
9715 2005-07-14  Wim Taymans  <wim@fluendo.com>
9716
9717         * gst/gstcaps.c: (gst_caps_do_simplify):
9718         Remove debug info.
9719
9720         * gst/gsterror.h:
9721         Define error for stream stopped.
9722
9723         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9724         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9725         Do proper return values.
9726
9727         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9728         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9729         (gst_pad_get_range):
9730         Better return values.
9731
9732         * gst/gstpad.h:
9733         Reorganise return values, add macro to check for fatal errors.
9734
9735         * gst/gstqueue.c: (gst_queue_chain):
9736         Return proper GstFlowReturn values,
9737
9738 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9739
9740         * docs/gst/gstreamer-sections.txt:
9741         * docs/gst/gstreamer.types:
9742         * docs/gst/tmpl/gst.sgml:
9743         * docs/gst/tmpl/gstbasesink.sgml:
9744         * docs/gst/tmpl/gstbasesrc.sgml:
9745         * docs/gst/tmpl/gstbasetransform.sgml:
9746         * docs/gst/tmpl/gstbin.sgml:
9747         * docs/gst/tmpl/gstbuffer.sgml:
9748         * docs/gst/tmpl/gstcaps.sgml:
9749         * docs/gst/tmpl/gstclock.sgml:
9750         * docs/gst/tmpl/gstcompat.sgml:
9751         * docs/gst/tmpl/gstconfig.sgml:
9752         * docs/gst/tmpl/gstelement.sgml:
9753         * docs/gst/tmpl/gstelementdetails.sgml:
9754         * docs/gst/tmpl/gstelementfactory.sgml:
9755         * docs/gst/tmpl/gstenumtypes.sgml:
9756         * docs/gst/tmpl/gsterror.sgml:
9757         * docs/gst/tmpl/gstevent.sgml:
9758         * docs/gst/tmpl/gstfakesink.sgml:
9759         * docs/gst/tmpl/gstfakesrc.sgml:
9760         * docs/gst/tmpl/gstfilesink.sgml:
9761         * docs/gst/tmpl/gstfilesrc.sgml:
9762         * docs/gst/tmpl/gstfilter.sgml:
9763         * docs/gst/tmpl/gstformat.sgml:
9764         * docs/gst/tmpl/gstghostpad.sgml:
9765         * docs/gst/tmpl/gstimplementsinterface.sgml:
9766         * docs/gst/tmpl/gstindex.sgml:
9767         * docs/gst/tmpl/gstindexfactory.sgml:
9768         * docs/gst/tmpl/gstinfo.sgml:
9769         * docs/gst/tmpl/gstiterator.sgml:
9770         * docs/gst/tmpl/gstmacros.sgml:
9771         * docs/gst/tmpl/gstmemchunk.sgml:
9772         * docs/gst/tmpl/gstminiobject.sgml:
9773         * docs/gst/tmpl/gstobject.sgml:
9774         * docs/gst/tmpl/gstpad.sgml:
9775         * docs/gst/tmpl/gstpadtemplate.sgml:
9776         * docs/gst/tmpl/gstparse.sgml:
9777         * docs/gst/tmpl/gstpipeline.sgml:
9778         * docs/gst/tmpl/gstplugin.sgml:
9779         * docs/gst/tmpl/gstpluginfeature.sgml:
9780         * docs/gst/tmpl/gstquery.sgml:
9781         * docs/gst/tmpl/gstqueue.sgml:
9782         * docs/gst/tmpl/gstregistry.sgml:
9783         * docs/gst/tmpl/gstregistrypool.sgml:
9784         * docs/gst/tmpl/gstscheduler.sgml:
9785         * docs/gst/tmpl/gstschedulerfactory.sgml:
9786         * docs/gst/tmpl/gststructure.sgml:
9787         * docs/gst/tmpl/gstsystemclock.sgml:
9788         * docs/gst/tmpl/gsttaglist.sgml:
9789         * docs/gst/tmpl/gsttagsetter.sgml:
9790         * docs/gst/tmpl/gsttrace.sgml:
9791         * docs/gst/tmpl/gsttrashstack.sgml:
9792         * docs/gst/tmpl/gsttypefind.sgml:
9793         * docs/gst/tmpl/gsttypefindfactory.sgml:
9794         * docs/gst/tmpl/gsttypes.sgml:
9795         * docs/gst/tmpl/gsturihandler.sgml:
9796         * docs/gst/tmpl/gsturitype.sgml:
9797         * docs/gst/tmpl/gstutils.sgml:
9798         * docs/gst/tmpl/gstvalue.sgml:
9799         * docs/gst/tmpl/gstversion.sgml:
9800         * docs/gst/tmpl/gstxml.sgml:
9801         * docs/libs/tmpl/gstcontrol.sgml:
9802         * docs/libs/tmpl/gstdataprotocol.sgml:
9803         * docs/libs/tmpl/gstdparam.sgml:
9804         * docs/libs/tmpl/gstdplinint.sgml:
9805         * docs/libs/tmpl/gstdpman.sgml:
9806         * docs/libs/tmpl/gstdpsmooth.sgml:
9807         * docs/libs/tmpl/gstgetbits.sgml:
9808         * docs/libs/tmpl/gstunitconvert.sgml:
9809         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9810         (gst_push_src_base_init), (gst_push_src_class_init),
9811         (gst_push_src_init), (gst_push_src_create):
9812         * gst/base/gstpushsrc.h:
9813         * gst/elements/gstelements.c:
9814         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9815         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9816         (gst_fake_sink_init), (gst_fake_sink_set_property),
9817         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9818         (gst_fake_sink_event), (gst_fake_sink_preroll),
9819         (gst_fake_sink_render), (gst_fake_sink_change_state):
9820         * gst/elements/gstfakesink.h:
9821         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9822         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9823         (gst_fake_src_base_init), (gst_fake_src_class_init),
9824         (gst_fake_src_init), (gst_fake_src_event_handler),
9825         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9826         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9827         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9828         (gst_fake_src_create_buffer), (gst_fake_src_create),
9829         (gst_fake_src_start), (gst_fake_src_stop):
9830         * gst/elements/gstfakesrc.h:
9831         * gst/elements/gstfilesink.c: (_do_init),
9832         (gst_file_sink_base_init), (gst_file_sink_class_init),
9833         (gst_file_sink_init), (gst_file_sink_dispose),
9834         (gst_file_sink_set_location), (gst_file_sink_set_property),
9835         (gst_file_sink_get_property), (gst_file_sink_open_file),
9836         (gst_file_sink_close_file), (gst_file_sink_query),
9837         (gst_file_sink_event), (gst_file_sink_render),
9838         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9839         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9840         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9841         * gst/elements/gstfilesink.h:
9842         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9843         (gst_file_src_class_init), (gst_file_src_init),
9844         (gst_file_src_finalize), (gst_file_src_set_location),
9845         (gst_file_src_set_property), (gst_file_src_get_property),
9846         (gst_file_src_map_region), (gst_file_src_map_small_region),
9847         (gst_file_src_create_mmap), (gst_file_src_create_read),
9848         (gst_file_src_create), (gst_file_src_is_seekable),
9849         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9850         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9851         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9852         (gst_file_src_uri_handler_init):
9853         * gst/elements/gstfilesrc.h:
9854           more autistic cleanliness in functions/names/defines
9855
9856 2005-07-13  Andy Wingo  <wingo@pobox.com>
9857
9858         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9859         source couldn't negotiate.
9860
9861         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9862         connections again.
9863
9864         * gst/gstutils.h:
9865         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9866         function. I am channeling Hades. Put your boots on suckers!!!
9867
9868 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9869
9870         * testsuite/caps/Makefile.am:
9871         * testsuite/caps/value_compare.c:
9872         * testsuite/caps/value_intersect.c:
9873         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9874           move two testsuite apps over to the check dir
9875
9876 2005-07-12  Wim Taymans  <wim@fluendo.com>
9877
9878         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9879         Added more debug info in the negotiate process.
9880
9881         * gst/gstmessage.h:
9882         Prepare for segment playback.
9883
9884         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9885         Better debugging.
9886
9887         * gst/gstutils.c:
9888         Some more docs.
9889
9890         * tools/gst-launch.c: (main):
9891         NULL pipeline on errors.
9892
9893 2005-07-12  Andy Wingo  <wingo@pobox.com>
9894
9895         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9896         not it comes from a malloc region. Make sure our copy gets freed.
9897
9898 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9899
9900         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9901         * check/gst/gstmessage.c: (GST_START_TEST):
9902         * check/gst/gststructure.c: (GST_START_TEST),
9903         (gst_structure_suite), (main):
9904           more testing
9905         * gst/gstelement.c: (gst_element_message_full):
9906           clean up GError and debug string now that they get copied
9907         * gst/gstmessage.c: (gst_message_new_error),
9908         (gst_message_new_warning), (gst_message_parse_error),
9909         (gst_message_parse_warning):
9910           use GST_TYPE_G_ERROR for structure_new, and take copies of
9911           arguments, so that we don't mess up refcounting
9912
9913 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9914
9915         * check/Makefile.am:
9916           add per-test valgrind targets
9917         * check/gst-libs/gdp.c: (GST_START_TEST),
9918         (gst_data_protocol_suite), (main):
9919           clean up
9920
9921 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9922
9923         * check/Makefile.am:
9924           instate more valgrindable tests
9925         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9926         (GST_START_TEST), (fakesrc_suite):
9927         * check/gst/gstpad.c: (GST_START_TEST):
9928         * check/gst/gststructure.c: (GST_START_TEST):
9929           fix test leaks
9930         * docs/gst/tmpl/gstminiobject.sgml:
9931         * gst/gstpad.c: (gst_pad_finalize):
9932           fix the static mutex leak
9933
9934 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9935
9936         * check/Makefile.am:
9937           add two more tests for valgrinding
9938         * check/gst/gstvalue.c: (GST_START_TEST):
9939           test refcount of deserialized buffer, found a leak
9940         * docs/gst/gstreamer-docs.sgml:
9941         * docs/gst/gstreamer-sections.txt:
9942         * docs/gst/gstreamer.types:
9943         * docs/gst/tmpl/gstminiobject.sgml:
9944           add miniobject to docs
9945         * gst/gstminiobject.c:
9946           add some docs
9947         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9948         (gst_string_unwrap):
9949           fix a hard-to-find invalid write for one of the tests
9950           fix a leak for deserialized buffers
9951
9952 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9953
9954         * docs/pwg/advanced-events.xml:
9955         * docs/pwg/advanced-request.xml:
9956         * docs/pwg/advanced-scheduling.xml:
9957         * docs/pwg/appendix-porting.xml:
9958         * docs/pwg/building-boiler.xml:
9959         * docs/pwg/intro-preface.xml:
9960         * docs/pwg/other-ntoone.xml:
9961           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9962           of example code and explanation for pad activation, loop() and
9963           getrange() functions and a bit more. Remove old comments pointing
9964           to loop-functions.
9965         * examples/pwg/Makefile.am:
9966           Add loop/getrange examples.
9967
9968 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9969
9970         * configure.ac:
9971           check for valgrind binary + some fixes
9972         * check/gst.supp:
9973           valgrind suppressions for the tests
9974         * check/Makefile.am:
9975           add a valgrind: target that valgrinds the unit tests
9976         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9977         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9978         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9979         * check/gst/gstghostpad.c:
9980           added some cleanup
9981         * check/gst/gstdata.c:
9982           removed
9983         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9984         (thread_unref), (gst_mini_object_suite), (main):
9985           added
9986         * gst/gst.c: (gst_deinit):
9987         * gst/gst.h:
9988           add a method to clean up.
9989         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9990         (gst_system_clock_obtain):
9991           allow for disposing the system clock.
9992         * tools/gst-launch.c: (main):
9993           deinit
9994
9995 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9996
9997         * docs/gst/tmpl/gstbasesrc.sgml:
9998         * docs/gst/tmpl/gstfakesrc.sgml:
9999         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10000         (gst_base_src_init), (gst_base_src_set_property),
10001         (gst_base_src_get_property), (gst_base_src_get_range),
10002         (gst_base_src_start):
10003         * gst/base/gstbasesrc.h:
10004           add num-buffers property
10005         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10006         (gst_fakesrc_init), (gst_fakesrc_set_property),
10007         (gst_fakesrc_get_property), (gst_fakesrc_create),
10008         (gst_fakesrc_start):
10009           remove num-buffers property
10010
10011 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10012
10013         * docs/gst/gstreamer-sections.txt:
10014         * docs/gst/tmpl/gstbasesink.sgml:
10015         * docs/gst/tmpl/gstbasesrc.sgml:
10016         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10017         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10018         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10019         (gst_base_sink_set_property), (gst_base_sink_get_property),
10020         (gst_base_sink_handle_object), (gst_base_sink_event),
10021         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10022         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10023         (gst_base_sink_loop), (gst_base_sink_deactivate),
10024         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10025         (gst_base_sink_change_state):
10026         * gst/base/gstbasesink.h:
10027         * gst/base/gstbasesrc.h:
10028         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10029         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10030         (gst_filesink_init):
10031           more macro splitting
10032
10033 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10034
10035         * gst/gstelement.c: (gst_element_get_bus):
10036           add debug
10037         * tools/gst-launch.c: (check_intr), (event_loop):
10038           fix bus leaks
10039
10040 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10043           fix a caps leak
10044
10045 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10046
10047         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10048         (gst_base_src_finalize):
10049           add finalize method and clean up properly
10050         * gst/gstpipeline.c: (gst_pipeline_dispose):
10051           add debug
10052
10053 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10054
10055         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10056         (gst_bin_suite):
10057           add more things to check
10058         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10059         * gst/gstelement.c:
10060           more debug
10061
10062 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10065         (GST_START_TEST), (fakesrc_suite):
10066         * check/gst-libs/gdp.c: (GST_START_TEST):
10067         * check/gst/gst.c: (GST_START_TEST):
10068         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10069         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10070         * check/gst/gstbus.c: (GST_START_TEST):
10071         * check/gst/gstcaps.c: (GST_START_TEST):
10072         * check/gst/gstdata.c: (GST_START_TEST):
10073         * check/gst/gstelement.c: (GST_START_TEST):
10074         * check/gst/gstghostpad.c: (GST_START_TEST):
10075         * check/gst/gstiterator.c: (GST_START_TEST):
10076         * check/gst/gstmessage.c: (GST_START_TEST):
10077         * check/gst/gstobject.c: (GST_START_TEST):
10078         * check/gst/gstpad.c: (GST_START_TEST):
10079         * check/gst/gststructure.c: (GST_START_TEST):
10080         * check/gst/gstsystemclock.c: (GST_START_TEST),
10081         (gst_systemclock_suite):
10082         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10083         * check/gst/gstvalue.c: (GST_START_TEST):
10084         * check/pipelines/cleanup.c: (GST_START_TEST):
10085         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10086         * check/states/sinks.c: (GST_START_TEST):
10087         * check/gstcheck.c: (gst_check_init):
10088         * check/gstcheck.h:
10089           add debugging category
10090           use GST_START_TEST now, so we add a debug line
10091
10092 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10093
10094         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10095           add test for state change message on a bin
10096         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10097           add another test
10098         * gst/gstbin.c: (gst_bin_init):
10099         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10100         * gst/gstelement.c: (gst_element_post_message),
10101         (gst_element_set_state):
10102         * gst/gstelementfactory.c: (gst_element_factory_create):
10103         * gst/gstmessage.c: (gst_message_new):
10104         * gst/gstscheduler.c:
10105           various debugging additions and cleanups
10106
10107 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10108
10109         * check/Makefile.am:
10110         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10111         (main):
10112           adding tests for elements
10113         * gst/gstelement.c: (gst_element_dispose):
10114
10115 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10116
10117         * gst/registries/gstlibxmlregistry.c: (load_feature):
10118           plug more leaks.  A simple gst_init() now is leakfree, yay.
10119
10120 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10121
10122         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10123         (gst_xml_registry_load):
10124           plug another memleak
10125
10126 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10127
10128         * configure.ac:
10129           use GST_SET_ERROR_CFLAGS
10130         * docs/faq/cvs.xml:
10131           change to ERROR_CFLAGS
10132
10133 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * configure.ac:
10136           make GST_ERROR_CFLAGS overridable and re-enable Werror
10137         * docs/faq/cvs.xml:
10138           add a note about error CFLAGS
10139         * docs/gst/tmpl/gstfakesrc.sgml:
10140         * gst/elements/gstfakesrc.c:
10141           comment out some unused code
10142         * gst/gst.c: (split_and_iterate):
10143         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10144         (load_feature):
10145           plug some memleaks
10146
10147 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10148
10149         * common/Makefile.am:
10150         * common/gtk-doc.mak:
10151         * docs/gst/Makefile.am:
10152           factor out gtk-doc.mak
10153
10154 2005-07-07  Wim Taymans  <wim@fluendo.com>
10155
10156         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10157         (gst_thread_scheduler_dispose):
10158         Unlock the STREAM_LOCK completely.
10159
10160 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10161
10162         * check/Makefile.am:
10163         * check/elements/.cvsignore:
10164         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10165         (START_TEST), (fakesrc_suite), (main):
10166         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10167         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10168         (gst_fakesrc_create), (gst_fakesrc_start):
10169         * gst/elements/gstfakesrc.h:
10170           adding a first element test
10171
10172 2005-07-07  Andy Wingo  <wingo@pobox.com>
10173
10174         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10175         debug message.
10176
10177 2005-07-07  Wim Taymans  <wim@fluendo.com>
10178
10179         * gst/gstquery.c:
10180         * gst/gstquery.h:
10181         Remove old types
10182
10183 2005-07-07  Wim Taymans  <wim@fluendo.com>
10184
10185         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10186         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10187         Allow subclasses to implement their own negotiation.
10188
10189 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10190
10191         * docs/design/part-gstbin.txt:
10192         * docs/design/part-gstpipeline.txt:
10193           Update design notes to reflect the movement of
10194           responsibility for bus handling from GstPipeline to
10195           GstBin
10196
10197 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10198
10199         * configure.ac:
10200           Remove unnecessary queue2/3/4 examples.
10201
10202 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10203
10204         * examples/Makefile.am:
10205         * examples/helloworld/helloworld.c: (event_loop), (main):
10206         * examples/queue/queue.c: (event_loop), (main):
10207         * examples/queue2/queue2.c: (main):
10208           Update a couple of the examples to work again.
10209
10210         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10211         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10212          Spelling corrections and extra debug.
10213         
10214         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10215         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10216         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10217         * gst/gstbin.h:
10218         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10219         (gst_pipeline_change_state):
10220         * gst/gstpipeline.h:
10221           Move the bus handler for children to the GstBin, and create a
10222           separate bus for receiving messages from children to the one the
10223           bus sends 'upwards' on.
10224
10225 2005-07-06  Wim Taymans  <wim@fluendo.com>
10226
10227         * gst/base/README:
10228         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10229         (gst_base_sink_handle_object), (gst_base_sink_loop),
10230         (gst_base_sink_change_state):
10231         * gst/base/gstbasesink.h:
10232         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10233         (gst_base_src_init), (gst_base_src_setcaps),
10234         (gst_base_src_getcaps), (gst_base_src_loop),
10235         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10236         (gst_base_src_start), (gst_base_src_change_state):
10237         * gst/base/gstbasesrc.h:
10238         Make basesrc negotiate.
10239         Handle the case where preroll fails in basesink.
10240         Update README.
10241
10242 2005-07-06  Wim Taymans  <wim@fluendo.com>
10243
10244         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10245         Implement the fixate function.
10246         Clean up acceptcaps.
10247
10248 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10249
10250         * docs/pwg/building-filterfactory.xml:
10251         * docs/pwg/pwg.xml:
10252           Remove never-written filter-factory chapter; I'll add the various
10253           base classes to part 4 ("other element types") later on.
10254
10255 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10256
10257         * docs/pwg/advanced-negotiation.xml:
10258         * docs/pwg/building-boiler.xml:
10259         * docs/pwg/building-pads.xml:
10260         * docs/pwg/pwg.xml:
10261         * examples/pwg/Makefile.am:
10262           Add a chapter on caps negotiation, simplify the original code
10263           samples a bit w.r.t. caps negotiation, add link to the advanced
10264           section. Add a bunch of examples showing different use cases of
10265           different types of caps negotiation. Upstream renegotiation isn't
10266           fully documented yet since nobody knows how that works.
10267
10268 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10269
10270         * check/gst/gstpad.c:
10271         * check/gstcheck.c:
10272         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10273           if pad has no parent, return NULL as list of internal links
10274
10275 2005-07-05  Andy Wingo  <wingo@pobox.com>
10276
10277         * gst/elements/gstfilesrc.c:
10278         * gst/elements/gstfakesrc.c: 
10279         * gst/base/gstpushsrc.c:
10280         * gst/base/gstbasesrc.h: 
10281         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10282         
10283 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10284
10285         * Makefile.am:
10286           better report generation target (lcov needs a patch)
10287
10288 2005-07-05  Andy Wingo  <wingo@pobox.com>
10289
10290         * gst/elements, testsuite: Null if we got it...
10291
10292 2005-07-05  Wim Taymans  <wim@fluendo.com>
10293
10294         * configure.ac:
10295         * libs/gst/dataprotocol/Makefile.am:
10296         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10297         * libs/gst/dataprotocol/dataprotocol.h:
10298         * pkgconfig/Makefile.am:
10299         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10300         * pkgconfig/gstreamer-dataprotocol.pc.in:
10301         Ported dataprotol to 0.9. 
10302         Added pkgconfig files.
10303
10304 2005-07-05  Andy Wingo  <wingo@pobox.com>
10305
10306         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10307         Default to returning TRUE for the case when tranform_caps returns
10308         a fixed caps, like for identity or volume.
10309
10310         * check/gst/gstbus.c (pound_bus_with_messages): 
10311         * check/gst/gstmessage.c (START_TEST): 
10312         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10313         message API change.
10314
10315         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10316         logic weaks here: always run transform_caps, trying passthrough
10317         operation only if the original caps intersects with the transform.
10318
10319         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10320         source and sink caps.
10321
10322         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10323         Intersect the peer caps with the pad template before going into
10324         transform_caps.
10325         (gst_base_transform_transform_caps): More debugging.
10326
10327         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10328         src argument.
10329
10330 2005-07-04  Edward Hervey  <edward@fluendo.com>
10331
10332         * gst/gstutils.c:
10333         * gst/gstutils.h:
10334         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10335         in bindings.
10336
10337 2005-07-04  Andy Wingo  <wingo@pobox.com>
10338
10339         * check/gst/gstpad.c: Only set explicit caps on pads.
10340
10341 2005-07-01  Andy Wingo  <wingo@pobox.com>
10342
10343         * tests/network-clock.scm: Commentary update.
10344
10345         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10346         Didn't really make sense, not implementable with basetransform,
10347         etc.
10348         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10349         attempt at implementing the sync property, needs an unlock method.
10350
10351         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10352         New func, by default returns the same caps (the identity
10353         transformation).
10354         (gst_base_transform_getcaps): Uses transform_caps to return
10355         something sensible.
10356         (gst_base_transform_setcaps): Complicated logic to get caps on
10357         both pads, even if they are different, and to call set_caps once
10358         for every time both pads get their caps set.
10359         (gst_base_transform_handle_buffer): Give the ref to the transform
10360         function. Allows in-place modification of the buffer.
10361
10362         * gst/base/gstbasetransform.h (transform_caps): New class method.
10363         Given caps on one side, what can I do on the other.
10364         (set_caps): Take two caps, one for each side of the element.
10365
10366         * gst/gstpad.h:
10367         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10368         caps in place. This is safe because we can check the mutability of
10369         the caps, and a good idea because fixate functions are just called
10370         as a matter of last resort. (Not actually implemented.)
10371         (gst_pad_set_caps): If the caps we're setting is actually the same
10372         as the existing pad caps, just update the pointer without calling
10373         setcaps. Assert that caps is either NULL or fixed, as per the
10374         docs.
10375
10376         * gst/gstghostpad.c: Update for fixate changes.
10377
10378 2005-07-02  Andy Wingo  <wingo@pobox.com>
10379
10380         * gst/gstcaps.c:
10381         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10382         two refcounts makes it immutable, which is enough. Doc more.
10383
10384 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10385
10386         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10387           Put the mini_object into GValue as a mini_object,
10388           not a gpointer, since that's how we declared
10389           the signal.
10390
10391 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10392
10393         * examples/pwg/Makefile.am:
10394           Fix buildbot again.
10395
10396 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10397
10398         * docs/pwg/building-testapp.xml:
10399           Add extra check.
10400         * examples/pwg/Makefile.am:
10401           Fix buildbot.
10402
10403 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10404
10405         * configure.ac:
10406         * examples/Makefile.am:
10407         * examples/pwg/Makefile.am:
10408         * examples/pwg/extract.pl:
10409           Enable building the PWG examples.
10410         * docs/pwg/advanced-interfaces.xml:
10411           Add URI interface stub.
10412         * docs/pwg/advanced-types.xml:
10413         * docs/pwg/other-autoplugger.xml:
10414         * docs/pwg/appendix-porting.xml:
10415         * docs/pwg/pwg.xml:
10416           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10417         * docs/pwg/building-boiler.xml:
10418         * docs/pwg/building-chainfn.xml:
10419         * docs/pwg/building-pads.xml:
10420         * docs/pwg/building-props.xml:
10421         * docs/pwg/building-state.xml:
10422         * docs/pwg/building-testapp.xml:
10423           Update the building-*.xml parts for 0.9 changes. All examples
10424           code blocks compile in examples/pwg/*.
10425
10426 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10427
10428         * docs/manual/advanced-autoplugging.xml:
10429         * docs/manual/appendix-checklist.xml:
10430         * docs/manual/appendix-integration.xml:
10431         * docs/manual/highlevel-components.xml:
10432           Fix playbin/decodebin examples, update docs a bit, mention bus
10433           instead of signals in various places, mention kmplayer and
10434           kaffeine since they have a working GStreamer backend in the KDE
10435           section.
10436
10437 2005-06-30  Wim Taymans  <wim@fluendo.com>
10438
10439         * CHANGES-0.9:
10440         * docs/design/draft-ghostpads.txt:
10441         * docs/design/draft-push-pull.txt:
10442         * docs/design/draft-query.txt:
10443         * docs/design/part-TODO.txt:
10444         * docs/design/part-query.txt:
10445         Added CHANGES-0.9 doc, updated status of other docs.
10446         
10447         * gst/gstquery.h:
10448         Remove "hmm" macro
10449
10450 2005-06-30  Wim Taymans  <wim@fluendo.com>
10451
10452         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10453         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10454         (gst_base_sink_change_state):
10455         * gst/base/gstbasesink.h:
10456         Some tweaks, only EOS and a buffer complete a preroll.
10457
10458 2005-06-30  Andy Wingo  <wingo@pobox.com>
10459
10460         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10461         activate_push down to the internal pad as well.
10462
10463 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10464
10465         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10466
10467         * gst/gsttaginterface.c:
10468           Some documentation fixes (#307394 and #307397).
10469
10470 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10471
10472         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10473
10474         * gst/gstvalue.c: (gst_value_intersect_list):
10475           Fix memleak (#309125).
10476
10477 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10478
10479         * docs/manual/advanced-dataaccess.xml:
10480           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10481         * docs/manual/basics-pads.xml:
10482           Add reference for filtered caps to above chapter.
10483
10484 2005-06-30  Wim Taymans  <wim@fluendo.com>
10485
10486         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10487         (gst_bin_change_state):
10488         Probes are gone.
10489         Lame attempt at making the state change function a bit
10490         more readable.
10491
10492 2005-06-30  Wim Taymans  <wim@fluendo.com>
10493
10494         * docs/design/part-clocks.txt:
10495         * docs/design/part-element-sink.txt:
10496         * docs/design/part-events.txt:
10497         * docs/design/part-preroll.txt:
10498         * docs/design/part-states.txt:
10499         Some more tweeks and additions to the docs.
10500
10501 2005-06-30  Wim Taymans  <wim@fluendo.com>
10502
10503         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10504         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10505         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10506         (gst_pad_check_pull_range), (gst_pad_get_range),
10507         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10508         * gst/gstpad.h:
10509         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10510         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10511         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10512         (gst_pad_remove_buffer_probe):
10513         Removed atomic operations, use existing LOCK.
10514         Move exception handling out of main code path.
10515
10516 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10517
10518         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10519         (silly_return_true_function), (gst_pad_class_init),
10520         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10521         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10522         (gst_pad_send_event):
10523           Fix accumulator, add default value by using _emitv() instead
10524           of _emit() for signal emission.
10525
10526 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10527
10528         * docs/manual/advanced-dataaccess.xml:
10529         * examples/manual/Makefile.am:
10530           Add probe example.
10531         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10532           Make work (??).
10533
10534 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10535
10536         * gst/elements/gstfilesink.c: (gst_filesink_render):
10537           Simplify code so that we don't have to handle short
10538           writes and return GST_FLOW_ERROR if an error occured.
10539
10540 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10541
10542         * docs/gst/gstreamer-docs.sgml:
10543           Remove probes more.
10544
10545 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10546
10547         * docs/gst/gstreamer-sections.txt:
10548         * docs/gst/tmpl/gstpad.sgml:
10549         * docs/gst/tmpl/gstprobe.sgml:
10550         * gst/Makefile.am:
10551         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10552         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10553         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10554         (gst_pad_push_event), (gst_pad_send_event):
10555         * gst/gstpad.h:
10556         * gst/gstutils.c: (gst_pad_add_data_probe),
10557         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10558         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10559         (gst_pad_remove_buffer_probe):
10560         * gst/gstutils.h:
10561           Remove old probes, add new g-signal-based probes and some utility
10562           functions.
10563
10564 2005-06-29  Edward Hervey  <edward@fluendo.com>
10565
10566         * gst/gstelementfactory.c:
10567         * gst/gstutils.h:
10568         * gst/gstutils.c:
10569         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10570         the definition to the header file.
10571
10572 2005-06-29  Andy Wingo  <wingo@pobox.com>
10573
10574         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10575         plugins from the source directory.
10576
10577 2005-06-29  Wim Taymans  <wim@fluendo.com>
10578
10579         * docs/gst/tmpl/gstbuffer.sgml:
10580         * docs/gst/tmpl/gstclock.sgml:
10581         Some fixings for blantently wrong text.
10582
10583 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10584
10585         * check/Makefile.am:
10586         * gst/gst.c: (add_path_func), (init_pre):
10587         * gst/gstregistry.c: (gst_registry_add_path):
10588           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10589           only scan the GST_PLUGIN_PATH locations, and not add
10590           system locations
10591
10592 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10593
10594         * docs/gst/gstreamer-sections.txt:
10595         * docs/gst/tmpl/gstbasesrc.sgml:
10596         * gst/gstelement.c:
10597         * gst/gstelement.h:
10598         * gst/gstevent.c:
10599         * gst/gstutils.c:
10600           doc fixes
10601
10602 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10603
10604         * docs/manual/advanced-autoplugging.xml:
10605           Fix autoplugging example.
10606
10607 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10608
10609         * docs/manual/advanced-autoplugging.xml:
10610         * docs/manual/mime-world.fig:
10611           Try to get autoplugging working, fix type detection. Fix text
10612           in hello-world image.
10613
10614 2005-06-29  Wim Taymans  <wim@fluendo.com>
10615
10616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10617         (gst_base_sink_change_state):
10618         Small debug line.
10619
10620         * gst/gstclock.h:
10621         map SIGNAL and BROADCAST to the right function.
10622
10623         * gst/gstobject.h:
10624         Remove redundant braces.
10625
10626         * gst/gstpad.c: (gst_pad_set_caps):
10627         Don't call setcaps function when reseting caps to NULL.
10628
10629         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10630         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10631         (gst_system_clock_id_unschedule):
10632         Use BROADCAST as this is what we do.
10633
10634 2005-06-29  Wim Taymans  <wim@fluendo.com>
10635
10636         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10637         We are actually prerolling before commiting the state
10638         change. 
10639
10640 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10641
10642         * docs/manual/advanced-clocks.xml:
10643         * docs/manual/advanced-interfaces.xml:
10644         * docs/manual/advanced-metadata.xml:
10645         * docs/manual/advanced-position.xml:
10646         * docs/manual/advanced-schedulers.xml:
10647         * docs/manual/advanced-threads.xml:
10648         * docs/manual/appendix-porting.xml:
10649         * docs/manual/basics-bins.xml:
10650         * docs/manual/basics-bus.xml:
10651         * docs/manual/basics-elements.xml:
10652         * docs/manual/basics-helloworld.xml:
10653         * docs/manual/basics-pads.xml:
10654         * docs/manual/highlevel-components.xml:
10655         * docs/manual/manual.xml:
10656         * docs/manual/thread.fig:
10657           Update (until threads/scheduling) Application Development Manual;
10658           remove GstThread, add GstBus, add simple porting checklist, add
10659           documentation for tag writing, clocks, make all examples until this
10660           part compile and run.
10661         * examples/manual/Makefile.am:
10662           Update from changes to Application Development Manual; add bus
10663           example, remove thread example.
10664
10665 2005-06-28  Wim Taymans  <wim@fluendo.com>
10666
10667         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10668         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10669         (gst_bus_source_dispatch):
10670         Add debugging messages.
10671         Make internal methods static.
10672         Handle the case where the bus is flushed in the handler.
10673         
10674         * gst/gstelement.c: (gst_element_get_bus):
10675         Fix refcount in _get_bus();
10676
10677         * gst/gstpipeline.c: (gst_pipeline_change_state),
10678         (gst_pipeline_get_clock_func):
10679         Clock refcounting fixes.
10680         Handle the case where preroll timed out more gracefully.
10681         
10682         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10683         Clean up the internal thread in dispose. This is needed
10684         for subclasses that actually get disposed.
10685         
10686         * gst/schedulers/threadscheduler.c:
10687         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10688         (gst_thread_scheduler_dispose):
10689         Free thread pool in dispose.
10690
10691 2005-06-28  Andy Wingo  <wingo@pobox.com>
10692
10693         * tests/network-clock-utils.scm (debug, print-event): New utils.
10694
10695         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10696         (*packet-loss*): Unified loss probability.
10697         (network-time): Report out-of-band events.
10698
10699         * tests/plot-data: Add support for out-of-band events. Hack it
10700         into this script instead of passing it down the pipe; should fix
10701         this later.
10702
10703 2005-06-28  Wim Taymans  <wim@fluendo.com>
10704
10705         * docs/gst/gstreamer.types:
10706         * docs/gst/tmpl/gstbasesrc.sgml:
10707         * docs/gst/tmpl/gstpad.sgml:
10708         Docs fixes.
10709
10710 2005-06-28  Wim Taymans  <wim@fluendo.com>
10711
10712         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10713         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10714         (gst_proxy_pad_do_fixatecaps):
10715         Correctly proxy the check_pull_range function.
10716
10717 2005-06-28  Andy Wingo  <wingo@pobox.com>
10718
10719         * tests/network-clock.scm: Removed need for slib.
10720         
10721 2005-06-28  Wim Taymans  <wim@fluendo.com>
10722
10723         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10724         (gst_basesink_preroll_queue_flush):
10725         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10726         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10727         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10728         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10729         (gst_proxy_pad_set_property):
10730         * gst/gstpad.c:
10731         * gst/gstpad.h:
10732         * gst/gstqueue.c: (gst_queue_init):
10733         The deprecated pad loop function is removed now.
10734
10735 2005-06-28  Andy Wingo  <wingo@pobox.com>
10736
10737         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10738         New parameters, simulate network packet loss.
10739
10740         * tests/network-clock-utils.scm: Initialize the RNG.
10741
10742 2005-06-28  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10745         (gst_basesink_event), (gst_basesink_deactivate):
10746         Flushing the preroll queue always needs to unlock the waiters.
10747
10748 2005-06-28  Edward Hervey  <edward@fluendo.com>
10749
10750         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10751         Wheen a seek was successful on a pipeline, set the stream_time to the
10752         seek offset in order to have a synchronized stream_time.
10753
10754 2005-06-28  Wim Taymans  <wim@fluendo.com>
10755
10756         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10757         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10758         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10759         (gst_proxy_pad_do_fixatecaps):
10760         Call wrapper function instead of just calling the function
10761         pointers. This takes care of any locking and whatmore.
10762
10763 2005-06-28  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10766         (gst_pad_pull_range):
10767         * gst/gstpad.h:
10768         CONNECTED -> LINKED.
10769
10770 2005-06-28  Andy Wingo  <wingo@pobox.com>
10771
10772         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10773         source-munging commit!!!
10774
10775         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10776         (gst_object_sink): Take gpointer arguments, not GstObject --
10777         avoids casts. Like GLib.
10778
10779         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10780         activate.
10781
10782 2005-06-27  Andy Wingo  <wingo@pobox.com>
10783
10784         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10785         remaining buffer.
10786
10787         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10788         returns a sorted copy of the trace list.
10789         (gst_alloc_trace_print_live): New API, only prints traces with
10790         live objects. Sort the list.
10791         (gst_alloc_trace_print_all): Sort the list.
10792         (gst_alloc_trace_print): Align columns.
10793
10794         * gst/elements/gstttypefindelement.c:
10795         * gst/elements/gsttee.c:
10796         * gst/base/gstbasesrc.c:
10797         * gst/base/gstbasesink.c:
10798         * gst/base/gstbasetransform.c:
10799         * gst/gstqueue.c: Adapt for pad activation changes.
10800
10801         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10802         sched.
10803         (gst_pipeline_dispose): Drop ref on sched.
10804
10805         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10806         (gst_pad_activate_default): Push mode by default.
10807         (pre_activate_switch, post_activate_switch): New stubs, things to
10808         do before and after switching activation modes on pads.
10809         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10810         the pad's activate function to choose which mode to activate.
10811         Shortcut on deactivation and call the right function directly.
10812         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10813         mode.
10814         (gst_pad_activate_push): New API, same for push mode.
10815         (gst_pad_set_activate_function) 
10816         (gst_pad_set_activatepull_function) 
10817         (gst_pad_set_activatepush_function): Setters for new API.
10818
10819         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10820         Trace all miniobjects.
10821         (gst_mini_object_make_writable): Unref the arg if we copy, like
10822         gst_caps_make_writable.
10823
10824         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10825
10826         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10827         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10828         Adapt for new pad API.
10829
10830         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10831
10832         * gst/gstelement.h:
10833         * gst/gstelement.c (gst_element_iterate_src_pads) 
10834         (gst_element_iterate_sink_pads): New API functions.
10835         
10836         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10837         should fold into gstiterator.c in some form.
10838         (gst_element_pads_activate): Simplified via use of fold and
10839         delegation of decisions to gstpad->activate.
10840
10841         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10842         help in debugging.
10843
10844         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10845         class once in init, like gstmessage. Didn't run into this issue
10846         but it seems correct. Don't initialize a trace, gstminiobject does
10847         that.
10848
10849         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10850         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10851         to the bus.
10852         (assert_live_count): New util function, uses alloc traces to check
10853         cleanup.
10854
10855         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10856         To be modified when unlink drops the internal pad.
10857
10858 2005-06-27  Wim Taymans  <wim@fluendo.com>
10859
10860         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10861         (gst_bin_change_state):
10862         Cleanup the get_state() function a little, make sure it
10863         iterates the same set of elements.
10864         Added stub iterate_state_order().
10865
10866 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10867
10868         * docs/gst/gstreamer-docs.sgml:
10869         * docs/gst/gstreamer-sections.txt:
10870         * docs/gst/gstreamer.types:
10871         * docs/gst/tmpl/gstbasesink.sgml:
10872         * docs/gst/tmpl/gstbasesrc.sgml:
10873         * docs/gst/tmpl/gstbasetransform.sgml:
10874         * docs/gst/tmpl/gstelement.sgml:
10875         * docs/gst/tmpl/gstiterator.sgml:
10876         * gst/base/gstbasesrc.c:
10877         * gst/base/gstbasesrc.h:
10878         * gst/base/gstbasetransform.h:
10879         * gst/gstelement.c:
10880         * gst/gstiterator.h:
10881           adding basetransform and iterator docs
10882
10883 2005-06-27  Andy Wingo  <wingo@pobox.com>
10884
10885         * docs/design/part-activation.txt: Notes on how activation should
10886         work -- not quite implemented yet.
10887
10888 2005-06-25  Wim Taymans  <wim@fluendo.com>
10889
10890         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10891         At least get the chain function correct, needs more
10892         fixing.
10893
10894 2005-06-25  Wim Taymans  <wim@fluendo.com>
10895
10896         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10897         (gst_basesink_handle_object), (gst_basesink_event),
10898         (gst_basesink_do_sync), (gst_basesink_handle_event),
10899         (gst_basesink_change_state):
10900         * gst/gsttask.h:
10901         Right, two problems here: ghostpads don't take locks and
10902         glib _rec_mutex_lock_full() with depth==0 still locks.
10903         Catch illegal locking and g_warn them.
10904
10905 2005-06-25  Wim Taymans  <wim@fluendo.com>
10906
10907         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10908         Have to check for completion now...
10909
10910 2005-06-25  Wim Taymans  <wim@fluendo.com>
10911
10912         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10913         (gst_basesink_handle_object), (gst_basesink_event),
10914         (gst_basesink_do_sync), (gst_basesink_handle_event),
10915         (gst_basesink_change_state):
10916         * gst/gstpad.h:
10917         Unlock STREAM_LOCK whatever the recursion was.
10918
10919 2005-06-25  Wim Taymans  <wim@fluendo.com>
10920
10921         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10922         (gst_basesink_preroll_queue_empty),
10923         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10924         (gst_basesink_event), (gst_basesink_do_sync),
10925         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10926         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10927         (gst_basesink_change_state):
10928         Reworked the base sink, handle event and buffer serialisation
10929         correctly and removed possible deadlock.
10930         Handle EOS correctly.
10931
10932 2005-06-25  Wim Taymans  <wim@fluendo.com>
10933
10934         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10935         (gst_pipeline_change_state):
10936         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10937         Allow elements to post EOS in the state change function.
10938         Fix up -launch, make it exit the poll loop when the
10939         pipeline actually changed state.
10940         Fix up warning parsing in -launch.
10941
10942 2005-06-25  Wim Taymans  <wim@fluendo.com>
10943
10944         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10945         (gst_tee_sink_activate):
10946         Core takes STREAM_LOCK for us now.
10947
10948 2005-06-25  Wim Taymans  <wim@fluendo.com>
10949
10950         * gst/gstelement.c: (gst_element_get_state_func),
10951         (gst_element_set_state):
10952         * gst/gstelement.h:
10953         * gst/gstmessage.c: (gst_message_parse_error),
10954         (gst_message_parse_warning):
10955         Keep track of current target state while performing a state
10956         change so that subclasses can do something interesting.
10957         Fix parsing of warning/error messages when GError is NULL.
10958
10959 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * docs/gst/Makefile.am:
10962         * docs/gst/gstreamer-docs.sgml:
10963         * docs/gst/gstreamer-sections.txt:
10964         * docs/gst/gstreamer.types:
10965         * docs/gst/tmpl/gstbasesink.sgml:
10966         * docs/gst/tmpl/gstbasesrc.sgml:
10967         * docs/gst/tmpl/gstbin.sgml:
10968         * docs/gst/tmpl/gstcompat.sgml:
10969         * docs/gst/tmpl/gstfakesink.sgml:
10970         * docs/gst/tmpl/gstfakesrc.sgml:
10971         * docs/gst/tmpl/gstfilesink.sgml:
10972         * docs/gst/tmpl/gstfilesrc.sgml:
10973         * docs/gst/tmpl/gstindex.sgml:
10974         * docs/manual/appendix-quotes.xml:
10975         * gst/base/gstbasesrc.h:
10976         * gst/elements/gstfakesrc.h:
10977         * gst/gstmessage.h:
10978           start pulling in base classes and elements in our docs
10979
10980 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10981
10982         * docs/gst/Makefile.am:
10983         * docs/libs/Makefile.am:
10984           fixed make distcheck with gtk-doc 1.3
10985
10986 2005-06-23  Wim Taymans  <wim@fluendo.com>
10987
10988         * gst/gstelement.c: (gst_element_get_state_func),
10989         (gst_element_set_state), (gst_element_change_state):
10990         When the state did not change, also report NO_PREROLL
10991         when it matters.
10992
10993 2005-06-23  Wim Taymans  <wim@fluendo.com>
10994
10995         * gst/gstpad.c: (gst_pad_event_default):
10996         * gst/gstqueue.c: (gst_queue_loop):
10997         No unsafe task pausing please.
10998
10999 2005-06-23  Wim Taymans  <wim@fluendo.com>
11000
11001         * gst/schedulers/threadscheduler.c:
11002         (gst_thread_scheduler_task_start),
11003         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11004         Ref the task before pushing it on the threadpool. This
11005         makes sure that we have a ref when the threadfunction is
11006         actually called.
11007
11008 2005-06-23  Andy Wingo  <wingo@pobox.com>
11009
11010         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11011         offset is greater than the file's size.
11012
11013         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11014         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11015         * gst/gstobject.c (gst_object_class_init): Make the class lock
11016         recursive. Wim won't let me drop deep_notify. Decodebin works
11017         again, whoopdy doo.
11018
11019         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11020         internal pad, and hacks accordingly. Doesn't do it on the target
11021         pad because we change its caps. Probably catches all cases of
11022         interest tho.
11023         (gst_ghost_pad_set_property): Connect to notify::caps as
11024         appropritate.
11025
11026         * tests/network-clock.scm (plot-simulation): Pipe data to the
11027         elite python skript.
11028
11029         * tests/network-clock-utils.scm (define-parameter): New macro,
11030         defines a parameter that can be set via the command line.
11031         (set-parameter!, parse-parameter-arguments): Command line args
11032         parser.
11033
11034         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11035         stdin.
11036
11037 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11038
11039         * gst/elements/gsttypefindelement.c:
11040         (gst_type_find_element_handle_event):
11041           Don't restart typefinding on a discont.
11042         * gst/gstelement.c: (gst_element_set_state):
11043           Debug spelling fix.
11044         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11045           Allow changing mode of an active pad.
11046           Debug output fixes.
11047         * gst/registries/gstlibxmlregistry.c: (load_feature):
11048           Don't cast a static pad template to a normal pad template.
11049
11050 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11051
11052         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11053         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11054           remove gst_strtoll completely, since it didn't actually do
11055           anything more than what g_ascii_strtoull already does.
11056           check for range errors when deserializing
11057           do a cast for the unsigned cases; but further fixing needs
11058           a decision on what the interpretation of "(int)" and
11059           deserialization should be for values that fall outside the
11060           type's boundaries (ie, refuse, or interpret as casting)
11061
11062 2005-06-23  Wim Taymans  <wim@fluendo.com>
11063
11064         * check/Makefile.am:
11065         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11066         * docs/design/part-live-source.txt:
11067         * docs/design/part-states.txt:
11068         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11069         (gst_basesrc_set_live), (gst_basesrc_is_live),
11070         (gst_basesrc_get_range), (gst_basesrc_activate),
11071         (gst_basesrc_change_state):
11072         * gst/base/gstbasesrc.h:
11073         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11074         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11075         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11076         * gst/gstelement.c: (gst_element_get_state_func),
11077         (gst_element_set_state):
11078         * gst/gstelement.h:
11079         * gst/gsttypes.h:
11080         * tools/gst-launch.c: (event_loop), (main):
11081         Added support for live sources and other elements that
11082         cannot do preroll.
11083         Updated design docs, added live-source design doc.
11084         Implemented live source functionality in basesrc
11085         Fix error condition in _bin_get_state()
11086         Implement live source handling in -launch.
11087         Added check for live sources.
11088         Fixed case in GstBin where elements were changed state
11089         multiple times.
11090
11091
11092 2005-06-23  Andy Wingo  <wingo@pobox.com>
11093
11094         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11095         borken refcounting.
11096
11097         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11098         gst_caps_replace takes care of this for us.
11099
11100         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11101         gst_pad_set_caps on the target, not just its setcaps() function.
11102
11103         * tests/network-clock.scm: 
11104         * tests/network-clock-utils.scm: A network clock simulator.
11105         Something of an algorithmic testbed before doing something in C.
11106
11107 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11108
11109         * check/Makefile.am:
11110         * check/gst/capslist.h:
11111           copy over from 0.8, and add two with bitmasks specified with
11112           (int) 0xFF...
11113         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11114           add test to parse everything from capslist.h
11115         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11116         (main):
11117           add test for structure deserialization
11118         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11119           add tests for deserialization of strings to int types
11120         * gst/gststructure.c: (gst_structure_nth_field_name):
11121         * gst/gststructure.h:
11122           add a way to get the name of a field referenced by index
11123         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11124           instead of checking if the resulting long long lies between
11125           min and max, we check if the long long would fit into
11126           a number of bytes for the final type.
11127           This fixes cases where a string represents 2^32 - 1, which
11128           when cast to int would be the (valid) -1, but is bigger than
11129           G_MAXINT
11130
11131 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * gst/parse/grammar.y:
11134           add a log line for type deserialization
11135
11136 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11137
11138         * check/gst/gstvalue.c: (START_TEST):
11139         * gst/gstvalue.c: (gst_value_deserialize):
11140           return long long, not int, so gint64 deserialization actually
11141           works.  Is there any flag that makes the compiler check this ?
11142           Fixes #308559
11143
11144 2005-06-22  Wim Taymans  <wim@fluendo.com>
11145
11146         * gst/gstbuffer.h:
11147         Added convenience macros for setting buffers in GValue.
11148
11149 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11150
11151         * check/gst/.cvsignore:
11152         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11153           add a test deserializing int64, and comment part out because
11154           it fails, yay !
11155
11156 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11157
11158         * check/Makefile.am:
11159         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11160         * testsuite/Makefile.am:
11161         * testsuite/caps/Makefile.am:
11162         * testsuite/caps/value_serialize.c:
11163         * testsuite/test_gst_init.c:
11164           move a value_serialize test over
11165
11166 2005-06-20  Wim Taymans  <wim@fluendo.com>
11167
11168         * gst/gstpad.c:
11169         Small doc updates.
11170         
11171         * gst/gstvalue.c: (gst_value_compare_buffer),
11172         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11173         (gst_value_compare_flags), (gst_value_serialize_flags),
11174         (gst_value_deserialize_flags), (_gst_value_initialize):
11175         Fix serialisation of buffers, they are not boxed types anymore
11176
11177 2005-06-20  Wim Taymans  <wim@fluendo.com>
11178
11179         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11180         Testcase to show error in buffer-on-caps serialisation.
11181
11182 2005-06-20  Andy Wingo  <wingo@pobox.com>
11183
11184         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11185         will be adding to later.
11186
11187         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11188         if its socks fill with rocks.
11189         (gst_system_clock_obtain): Set the name on object construction.
11190         Avoid double-checked locking.
11191
11192 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11193
11194         * gst/gsturi.c: (gst_element_make_from_uri):
11195           Fix potential endless loop.
11196
11197 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * check/Makefile.am:
11200           add gsttag
11201         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11202         (main):
11203           move over from testsuite dir and clean up
11204         * configure.ac:
11205         * gst/gsttag.c:
11206         * testsuite/Makefile.am:
11207         * testsuite/tags/.cvsignore:
11208         * testsuite/tags/Makefile.am:
11209         * testsuite/tags/merge.c:
11210           remove testsuite/tags
11211
11212 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11213
11214         * docs/gst/gstreamer-sections.txt:
11215         * docs/gst/tmpl/gstenumtypes.sgml:
11216         * win32/gstenumtypes.c:
11217           clean up documentation build a little
11218
11219 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * check/gstcheck.h:
11222           add macros for checking refcounts on objects and caps
11223         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11224           add some more unit tests
11225         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11226         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11227           fix leaked refcounts (I hope :)) so unittest works
11228         * gst/gstpad.h:
11229           whitespace removal
11230
11231 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11232
11233         * configure.ac: back to HEAD
11234
11235 === release 0.9.1 ===
11236
11237 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11238
11239         * NEWS:
11240         * RELEASE:
11241           updated
11242
11243 2005-06-17  Andy Wingo  <wingo@pobox.com>
11244
11245         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11246         assert; it's always possible that the pad gets deactivated in
11247         between the checks in gstpad.c and the implementation. Rely on
11248         finish_preroll() to return a FLUSHING or similar instead of on the
11249         assert.
11250         
11251         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11252         clock and post an EOS message if we come out of finish_preroll in
11253         the playing state.
11254
11255 2005-06-16  David Schleef  <ds@schleef.org>
11256
11257         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11258         (gst_capsfilter_set_property): Allow NULL as possible value
11259         for filter_caps property, indicating GST_CAPS_ANY.
11260
11261 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11262
11263         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11264           fix debug output
11265         * gst/schedulers/Makefile.am:
11266           use libgst prefix
11267         * gstreamer.spec.in:
11268           fix spec for it
11269
11270 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * gstreamer.spec.in:
11273           clean up
11274
11275 2005-06-08  Andy Wingo  <wingo@pobox.com>
11276
11277         * gst/gstutils.c: RPAD fixes all around.
11278         (gst_element_link_pads): Refcounting fixes.
11279
11280         * tools/gst-inspect.c:
11281         * tools/gst-xmlinspect.c:
11282         * parse/grammar.y:
11283         * gst/base/gsttypefindhelper.c:
11284         * gst/base/gstbasesink.c:
11285         * gst/gstqueue.c: RPAD fixes.
11286
11287         * gst/gstghostpad.h:
11288         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11289         pads. The tricky thing is they provide both source and sink
11290         interfaces, since they proxy the internal pad for the external
11291         pad, and vice versa. Implement with lower-level ProxyPad objects,
11292         with the interior proxy pad as a child of the exterior ghost pad.
11293         Should write a doc on this.
11294         
11295         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11296         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11297         gst_object API.
11298         
11299         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11300         pads are real pads. No ghost pads in this file. Not documenting
11301         the myriad s/RPAD/PAD/ and REALIZE fixes.
11302         (gst_pad_class_init): Add properties for "direction" and
11303         "template". Both are construct-only, so they can't change during
11304         the life of the pad. Fixes properly deriving from GstPad.
11305         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11306         derived objects, just set properties when creating the objects via
11307         g_object_new.
11308         (gst_pad_get_parent): Implement as a function, return NULL if the
11309         parent is not an element.
11310         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11311         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11312         
11313         * gst/gstobject.c (gst_object_class_init): Make name a construct
11314         property. Don't set it in the object init.
11315
11316         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11317         with UNKNOWN direction.
11318         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11319         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11320         (gst_element_remove_pad): Remove ghost-pad special cases.
11321         (gst_element_pads_activate): Remove rpad cruft.
11322
11323         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11324         catch the pad's-parent-not-an-element case.
11325
11326         * gst/gst.h: Include gstghostpad.h.
11327
11328         * gst/gst.c (init_post): No more real, ghost pads.
11329
11330         * gst/Makefile.am: Add gstghostpad.[ch].
11331
11332         * check/Makefile.am:
11333         * check/gst/gstbin.c:
11334         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11335         into a bin creates ghost pads, and that the refcounts are right.
11336         Partly moved from gstbin.c.
11337
11338 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11339
11340         * check/gst-libs/.cvsignore:
11341         * check/gst/.cvsignore:
11342         * check/pipelines/.cvsignore:
11343           ignore more
11344         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11345         (START_TEST), (cleanup_suite), (main):
11346           add some tests related to cleanup after running pipelines
11347
11348 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11349
11350         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11351           add a testsuite for GstBuffer
11352
11353 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11354
11355         * gst/gstminiobject.h:
11356           add defines for accessing the refcount
11357
11358 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11359
11360         * Makefile.am: added support for html unit test coverage reports
11361
11362 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11363
11364         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11365           Free existing caps if the capsfilter changes. Add a FIXME about
11366           setting those caps on the pads.
11367
11368         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11369           Before adding a ghost pad to a parent bin, check that there isn't
11370           already one for the element on the bin. Prevents infinite recursion
11371           when using decodebin in parse pipelines. Andy says he'll rewrite the
11372           way this works anyway, so ignore the hack.
11373
11374 2005-06-02  Andy Wingo  <wingo@pobox.com>
11375
11376         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11377         file size, pass it on to the type find helper.
11378
11379         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11380         segment_start and segment_end properly according to the seek
11381         method. Segment_end is still a bit flaky because offset can be
11382         negative for CUR and END cases, but it takes -1 as an "unset"
11383         value.
11384
11385 2005-06-02  Wim Taymans  <wim@fluendo.com>
11386
11387         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11388         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11389         (gst_basesink_activate):
11390         * gst/base/gstbasesink.h:
11391         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11392         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11393         (gst_pad_query), (gst_pad_start_task):
11394         * gst/gstpad.h:
11395         * gst/gstqueue.c: (gst_queue_bufferalloc),
11396         (gst_queue_handle_sink_event), (gst_queue_chain):
11397         Bufferalloc: return GstFlowReturn to more accuratly report
11398         why allocation failed.
11399
11400 2005-06-02  Wim Taymans  <wim@fluendo.com>
11401
11402         * gst/gstpipeline.c: (gst_pipeline_send_event):
11403         Take snapshot of state without blocking.
11404
11405 2005-06-02  Wim Taymans  <wim@fluendo.com>
11406
11407         * docs/design/part-TODO.txt:
11408         * docs/design/part-caps.txt:
11409         * docs/design/part-clocks.txt:
11410         * docs/design/part-negotiation.txt:
11411         * docs/design/part-preroll.txt:
11412         Small doc updates 
11413
11414 2005-05-30  Wim Taymans  <wim@fluendo.com>
11415
11416         * gst/elements/gstidentity.c: (gst_identity_event),
11417         (gst_identity_transform), (gst_identity_get_property):
11418         Protect last_message property as it is accessed from
11419         multiple threads.
11420
11421 2005-05-30  Wim Taymans  <wim@fluendo.com>
11422
11423         * gst/gstelement.c: (gst_element_init),
11424         (gst_element_pads_activate), (gst_element_change_state):
11425         Slicker pad activation code.
11426
11427 2005-05-30  Wim Taymans  <wim@fluendo.com>
11428
11429         * gst/Makefile.am:
11430         * gst/gstelement.h:
11431         * gst/gstelementfactory.h:
11432         * gst/gsttypes.h:
11433         Move elementfactory methods to separate .h file.
11434
11435 2005-05-30  Wim Taymans  <wim@fluendo.com>
11436
11437         * docs/design/part-overview.txt:
11438         * gst/gstsystemclock.h:
11439         Small typo fixes, doc updates.
11440
11441 2005-05-30  Wim Taymans  <wim@fluendo.com>
11442
11443         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11444         (init_popt_callback):
11445         Remove cpu-opt flag.
11446
11447 2005-05-30  Wim Taymans  <wim@fluendo.com>
11448
11449         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11450         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11451         * gst/gstbuffer.h:
11452         Avoid typechecking in places where not needed.
11453         Added accessor for malloc_data.
11454
11455 2005-05-30  Wim Taymans  <wim@fluendo.com>
11456
11457         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11458         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11459         (gst_pad_configure_sink), (gst_pad_configure_src),
11460         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11461         (gst_pad_start_task):
11462         Propagate errors from _set_caps() in configure_src/sink
11463         functions instead of returning TRUE.
11464         FLUSH events can travel up and downstream
11465
11466
11467 2005-05-30  Wim Taymans  <wim@fluendo.com>
11468
11469         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11470         (gst_basesink_activate):
11471         Handle EOS in preroll.
11472
11473 2005-05-30  Wim Taymans  <wim@fluendo.com>
11474
11475         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11476         (gst_queue_loop), (gst_queue_handle_src_event):
11477         Remove old pieces of code
11478         Flushing the queue in an upstream event is a very bad idea.
11479
11480 2005-05-26  Andy Wingo  <wingo@pobox.com>
11481
11482         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11483         gst_value_set_mini_object so as to add a ref on the object (which
11484         will be removed when the value is unset).
11485
11486         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11487         arg type in ::handoff.
11488
11489         * gst/gstelement.c (gst_element_change_state): Also deactivate
11490         pads in READY->NULL, just in case the element didn't make it to
11491         PAUSED. Wingo tested, Wim approved.
11492
11493 2005-05-26  Wim Taymans  <wim@fluendo.com>
11494
11495         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11496         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11497         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11498         A flushing pad cannot be used to alloc_buffer from.
11499
11500 2005-05-26  Wim Taymans  <wim@fluendo.com>
11501
11502         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11503         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11504         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11505         (gst_bus_create_watch), (gst_bus_add_watch_full):
11506         * gst/gstbus.h:
11507         Implement a real GSource and use g_main_context_wakeup() to
11508         signal new messages instead of the socketpair.
11509
11510 2005-05-25  Wim Taymans  <wim@fluendo.com>
11511
11512         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11513         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11514         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11515         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11516         (gst_pad_send_event), (gst_pad_start_task):
11517         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11518         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11519         (gst_queue_sink_activate), (gst_queue_src_activate),
11520         (gst_queue_change_state):
11521         * gst/gstqueue.h:
11522         Fix state changes for non sinks. We now change sinks, then elements
11523         with unconnected srcpads, then the rest.
11524         More efficient queue unlocking in flush and state changes.
11525         Set the pad activate mode even if it does not have an activate
11526         function.
11527
11528 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11529
11530         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11531           Don't go in pull mode for non-seekable sources.
11532         * gst/elements/gsttypefindelement.h:
11533         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11534         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11535         (free_entry), (stop_typefinding),
11536         (gst_type_find_element_handle_event), (find_peek),
11537         (gst_type_find_element_chain), (do_pull_typefind),
11538         (gst_type_find_element_change_state):
11539           Allow typefinding (w/o seeking) in push-mode, simplified version
11540           of what was in 0.8.
11541         * gst/gstutils.c: (gst_buffer_join):
11542         * gst/gstutils.h:
11543           gst_buffer_join() from 0.8.
11544
11545 2005-05-25  Wim Taymans  <wim@fluendo.com>
11546
11547         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11548         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11549         (gst_pad_send_event), (gst_pad_start_task):
11550         Disable attempt at mode switching until it is figured out.
11551
11552 2005-05-25  Wim Taymans  <wim@fluendo.com>
11553
11554         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11555         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11556         (gst_basesink_finish_preroll), (gst_basesink_chain),
11557         (gst_basesink_loop), (gst_basesink_activate),
11558         (gst_basesink_change_state):
11559         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11560         (gst_basesrc_get_range), (gst_basesrc_loop),
11561         (gst_basesrc_activate):
11562         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11563         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11564         (gst_real_pad_init), (gst_real_pad_set_property),
11565         (gst_real_pad_get_property), (gst_pad_set_active),
11566         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11567         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11568         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11569         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11570         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11571         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11572         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11573         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11574         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11575         (gst_pad_stop_task):
11576         * gst/gstpad.h:
11577         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11578         (gst_queue_loop), (gst_queue_src_activate):
11579         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11580         (gst_task_get_state):
11581         * gst/gsttask.h:
11582         * gst/schedulers/threadscheduler.c:
11583         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11584         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11585         in task function.
11586         Remove ACTIVE pad flag, use FLUSHING everywhere
11587         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11588         functions.
11589         Add locks around IS_FLUSHING when reading.
11590         Take STREAM lock in chain(), get_range() functions so plugins
11591         don't need to take it anymore.
11592         
11593
11594
11595 2005-05-25  Wim Taymans  <wim@fluendo.com>
11596
11597         * tools/gst-launch.c: (event_loop):
11598         Unref message after using its contents instead of
11599         before.
11600
11601 2005-05-24  Wim Taymans  <wim@fluendo.com>
11602
11603         * docs/design/draft-ghostpads.txt:
11604         * docs/design/draft-push-pull.txt:
11605         * docs/design/draft-query.txt:
11606         * docs/design/part-overview.txt:
11607         Docs updates, added general overview doc.
11608
11609 2005-05-21  David Schleef  <ds@schleef.org>
11610
11611         * docs/gst/tmpl/old/GstBin.sgml:
11612         * docs/gst/tmpl/old/GstBuffer.sgml:
11613         * docs/gst/tmpl/old/GstCaps.sgml:
11614         * docs/gst/tmpl/old/GstClock.sgml:
11615         * docs/gst/tmpl/old/GstCompat.sgml:
11616         * docs/gst/tmpl/old/GstData.sgml:
11617         * docs/gst/tmpl/old/GstElement.sgml:
11618         * docs/gst/tmpl/old/GstEvent.sgml:
11619         * docs/gst/tmpl/old/GstIndex.sgml:
11620         * docs/gst/tmpl/old/GstStructure.sgml:
11621         * docs/gst/tmpl/old/GstTag.sgml:
11622         * docs/gst/tmpl/old/cothreads.sgml:
11623         * docs/gst/tmpl/old/cothreads_compat.sgml:
11624         * docs/gst/tmpl/old/gettext.sgml:
11625         * docs/gst/tmpl/old/gobject2gtk.sgml:
11626         * docs/gst/tmpl/old/grammar.tab.sgml:
11627         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11628         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11629         * docs/gst/tmpl/old/gst_private.sgml:
11630         * docs/gst/tmpl/old/gstaggregator.sgml:
11631         * docs/gst/tmpl/old/gstarch.sgml:
11632         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11633         * docs/gst/tmpl/old/gstbufferstore.sgml:
11634         * docs/gst/tmpl/old/gstdata_private.sgml:
11635         * docs/gst/tmpl/old/gstdisksink.sgml:
11636         * docs/gst/tmpl/old/gstdisksrc.sgml:
11637         * docs/gst/tmpl/old/gstelementfactory.sgml:
11638         * docs/gst/tmpl/old/gstextratypes.sgml:
11639         * docs/gst/tmpl/old/gstfakesink.sgml:
11640         * docs/gst/tmpl/old/gstfakesrc.sgml:
11641         * docs/gst/tmpl/old/gstfdsink.sgml:
11642         * docs/gst/tmpl/old/gstfdsrc.sgml:
11643         * docs/gst/tmpl/old/gstfilesink.sgml:
11644         * docs/gst/tmpl/old/gstfilesrc.sgml:
11645         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11646         * docs/gst/tmpl/old/gstidentity.sgml:
11647         * docs/gst/tmpl/old/gstindexfactory.sgml:
11648         * docs/gst/tmpl/old/gstmarshal.sgml:
11649         * docs/gst/tmpl/old/gstmd5sink.sgml:
11650         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11651         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11652         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11653         * docs/gst/tmpl/old/gstpipefilter.sgml:
11654         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11655         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11656         * docs/gst/tmpl/old/gstshaper.sgml:
11657         * docs/gst/tmpl/old/gstspider.sgml:
11658         * docs/gst/tmpl/old/gstspideridentity.sgml:
11659         * docs/gst/tmpl/old/gststatistics.sgml:
11660         * docs/gst/tmpl/old/gsttee.sgml:
11661         * docs/gst/tmpl/old/gsttimecache.sgml:
11662         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11663         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11664         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11665         * docs/gst/tmpl/old/types.sgml:
11666           I didn't intend to add these or check them in.
11667
11668 2005-05-19  David Schleef  <ds@schleef.org>
11669
11670         * configure.ac: Use -no-common everywhere.  In a sane world, it
11671           would be the default in libtool, because without it, you can't
11672           build DLLs on Windows.
11673         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11674         * docs/gst/gstreamer-sections.txt:
11675         * docs/gst/tmpl/gstcpu.sgml:
11676         * docs/gst/tmpl/gstdata.sgml:
11677         * docs/gst/tmpl/gstthread.sgml:
11678
11679 2005-05-19  David Schleef  <ds@schleef.org>
11680
11681         * gst/gstminiobject.c: (gst_value_set_mini_object),
11682         (gst_value_take_mini_object), (gst_value_get_mini_object):
11683         * gst/gstminiobject.h: Add GValue set/get functions.
11684
11685 2005-05-19  Wim Taymans  <wim@fluendo.com>
11686
11687         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11688         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11689         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11690         * gst/gstbuffer.h:
11691         * gst/gstbus.c: (gst_bus_post):
11692         * gst/gstelement.c: (gst_element_get_random_pad):
11693         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11694         Make subbufer unref the parent in finalize.
11695         some more debugging info.
11696
11697
11698 2005-05-19  Wim Taymans  <wim@fluendo.com>
11699
11700         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11701         (gst_basesink_init), (gst_basesink_finalize),
11702         (gst_basesink_activate), (gst_basesink_change_state):
11703         Don't free preroll queue too early.
11704
11705 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11706
11707         * gst/Makefile.am:
11708         * gst/ROADMAP:
11709           Hi, I'm outdated. Please shoot me.
11710
11711 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11712
11713         * gst/gstpipeline.c: (gst_pipeline_send_event):
11714           Do not access variables after they have been deleted.
11715
11716 2005-05-19  Wim Taymans  <wim@fluendo.com>
11717
11718         * tools/gst-inspect.c: (print_plugin_features):
11719         A plugin feature does unfortunatly not use the
11720         object name yet...
11721
11722 2005-05-18  Wim Taymans  <wim@fluendo.com>
11723
11724         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11725         Port _span() functions to new subbuffers.
11726
11727 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11728
11729         * gst/gstbin.c: (gst_bin_add_func):
11730           Fix clock settery in bins when adding kids after the clock has
11731           been selected.
11732
11733 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11734
11735         * gst/elements/gstidentity.c: (gst_identity_class_init):
11736           Workaround until signals support GstMiniObject.
11737
11738 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11739
11740         * gst/gstbuffer.c:
11741         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11742
11743 2005-05-18  Wim Taymans  <wim@fluendo.com>
11744
11745         * gst/base/Makefile.am:
11746         * gst/base/gstadapter.c: (gst_adapter_base_init),
11747         (gst_adapter_class_init), (gst_adapter_init),
11748         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11749         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11750         (gst_adapter_flush), (gst_adapter_available),
11751         (gst_adapter_available_fast):
11752         * gst/base/gstadapter.h:
11753         Ported and added adapter to the base classes.
11754
11755 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11756
11757         * gst/gst.c:
11758         * gst/gstmessage.c:
11759           Make sure the class is reffed/unreffed once before threads can be
11760           used.  Fixes #304551.
11761
11762 2005-05-17  Wim Taymans  <wim@fluendo.com>
11763
11764         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11765         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11766         * gst/gstminiobject.c: (gst_mini_object_get_type),
11767         (gst_mini_object_free):
11768         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11769         (gst_pad_push), (gst_pad_push_event):
11770         * gst/gstqueue.c: (gst_queue_change_state):
11771         Don't queue buffers in basesink when we are flushing.
11772         Unref buffer when flushing in basesink.
11773         Flush queue when going to READY
11774         Unref buffer when _push() returns an error.
11775         Don't free MiniObject instance when refcount is incremented
11776         in _finalize() so that we can recover objects.
11777
11778 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11779
11780         * docs/manual/advanced-schedulers.xml:
11781         * docs/manual/appendix-checklist.xml:
11782         * docs/pwg/advanced-clock.xml:
11783         * docs/pwg/advanced-interfaces.xml:
11784         * docs/pwg/advanced-request.xml:
11785         * docs/pwg/advanced-types.xml:
11786         * docs/pwg/intro-preface.xml:
11787         * examples/plugins/example.c: (gst_example_get_type),
11788         (gst_example_class_init), (gst_example_chain),
11789         (gst_example_set_property), (gst_example_get_property),
11790         (gst_example_change_state), (plugin_init):
11791         * examples/plugins/example.h:
11792           small doc fixes
11793
11794 2005-05-17  Wim Taymans  <wim@fluendo.com>
11795
11796         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11797         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11798         * gst/gstqueue.c: (gst_queue_change_state):
11799         Clear queue when going to READY.
11800         Remove IN_SETCAPS flag too.
11801
11802 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11803
11804         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11805           Remove implicit cast from gboolean to GstElementStateReturn;
11806           make sure we still return failure in paused => ready case if
11807           the parent class fails to change state and our own stop 
11808           vfunc succeeds.
11809
11810 2005-05-17  Wim Taymans  <wim@fluendo.com>
11811
11812         * tools/gst-launch.c: (event_loop):
11813         Message was unreffed too soon.
11814
11815 2005-05-16  Andy Wingo  <wingo@pobox.com>
11816
11817         * gst/gstbin.c (sink_iterator_filter): Err... um...
11818
11819         * check/gst/gstbin.c (test_ghost_pads): New test for the
11820         ghosting-if-elements-not-in-same-bin behavior.
11821
11822 2005-05-16  David Schleef  <ds@schleef.org>
11823
11824         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11825         accessing refcount directly.
11826
11827 2005-05-15  David Schleef  <ds@schleef.org>
11828
11829         * check/Makefile.am: remove GstData checks
11830         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11831         * gst/Makefile.am: add miniobject, remove data
11832         * gst/gst.h: add miniobject, remove data
11833         * gst/gstdata.c: remove
11834         * gst/gstdata.h: remove
11835         * gst/gstdata_private.h: remove
11836         * gst/gsttypes.h: remove GstEvent and GstMessage
11837         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11838         * gst/gstmarshal.list: change BOXED -> OBJECT
11839
11840         Implement GstMiniObject.
11841         * gst/gstminiobject.c:
11842         * gst/gstminiobject.h:
11843
11844         Modify to be subclasses of GstMiniObject.
11845         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11846         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11847         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11848         (gst_subbuffer_get_type), (gst_subbuffer_init),
11849         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11850         (gst_buffer_span):
11851         * gst/gstbuffer.h:
11852         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11853         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11854         (_gst_event_copy), (gst_event_new):
11855         * gst/gstevent.h:
11856         * gst/gstmessage.c: (_gst_message_initialize),
11857         (gst_message_get_type), (gst_message_class_init),
11858         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11859         (gst_message_new), (gst_message_new_error),
11860         (gst_message_new_warning), (gst_message_new_tag),
11861         (gst_message_new_state_changed), (gst_message_new_application):
11862         * gst/gstmessage.h:
11863         * gst/gstprobe.c: (gst_probe_perform),
11864         (gst_probe_dispatcher_dispatch):
11865         * gst/gstprobe.h:
11866         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11867         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11868         (_gst_query_copy), (gst_query_new):
11869
11870         Update elements for GstData -> GstMiniObject changes
11871         * gst/gstquery.h:
11872         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11873         (gst_queue_chain), (gst_queue_loop):
11874         * gst/elements/gstbufferstore.c:
11875         (gst_buffer_store_add_buffer_func),
11876         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11877         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11878         (gst_fakesink_render):
11879         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11880         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11881         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11882         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11883         (gst_filesrc_create_read):
11884         * gst/elements/gstidentity.c: (gst_identity_class_init):
11885         * gst/elements/gsttypefindelement.c:
11886         (gst_type_find_element_src_event), (free_entry_buffers),
11887         (gst_type_find_element_handle_event):
11888         * libs/gst/dataprotocol/dataprotocol.c:
11889         (gst_dp_header_from_buffer):
11890         * libs/gst/dataprotocol/dataprotocol.h:
11891         * libs/gst/dataprotocol/dp-private.h:
11892
11893 2005-05-15  David Schleef  <ds@schleef.org>
11894
11895         * gst/elements/gstelements.c: Don't include headers that were
11896         just removed.
11897
11898 2005-05-15  David Schleef  <ds@schleef.org>
11899
11900         * gst/elements/Makefile.am: Remove some elements that don't
11901         need to be in the core (or even exist at all).
11902         * gst/elements/gstaggregator.c:
11903         * gst/elements/gstaggregator.h:
11904         * gst/elements/gstmd5sink.c:
11905         * gst/elements/gstmd5sink.h:
11906         * gst/elements/gstmultifilesrc.c:
11907         * gst/elements/gstmultifilesrc.h:
11908         * gst/elements/gstpipefilter.c:
11909         * gst/elements/gstpipefilter.h:
11910         * gst/elements/gstshaper.c:
11911         * gst/elements/gstshaper.h:
11912         * gst/elements/gststatistics.c:
11913         * gst/elements/gststatistics.h:
11914         * po/POTFILES.in: Remove above files.
11915
11916 2005-05-14  Andy Wingo  <wingo@pobox.com>
11917
11918         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11919         so as to get the refs right.
11920         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11921         unreffing objects that don't pass the filter.
11922
11923         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11924         gst_element_set_bus.
11925         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11926         normal cases, this will destroy the bus.
11927
11928         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11929         object.
11930
11931         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11932         has no sinks.
11933
11934 2005-05-13  Andy Wingo  <wingo@pobox.com>
11935
11936         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11937         gst_pad_link, call pad_link_maybe_ghosting,
11938         (pad_link_maybe_ghosting): Links pads, making sure that the
11939         elements being linked are in the same bin.
11940         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11941         Helpers for pad_link_maybe_ghosting.
11942
11943 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11944
11945         * configure.ac:
11946           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11947
11948 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11949
11950         * docs/design/part-element-source.txt:
11951           Mention GstPushSrc
11952
11953 2005-05-12  Wim Taymans  <wim@fluendo.com>
11954
11955         * gst/base/gstbasesink.c: (gst_basesink_init),
11956         (gst_basesink_activate):
11957         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11958         (gst_basesrc_is_seekable):
11959         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11960         (bin_element_is_sink), (gst_bin_change_state):
11961         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11962         * gst/gstelement.h:
11963         Identify sinks by their flag to avoid overly complicated
11964         checks (fow now).
11965         Do state changes even for elements not reachable from the
11966         sinks.
11967         BaseSink is a sink now :)
11968         Some more debugging info in the basesrc.
11969
11970
11971 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11972
11973         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11974           Implement _query on a bin, similar to _send_event.
11975
11976 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11977
11978         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11979           Discont event offset format should be GST_FORMAT_BYTES,
11980           not GST_FORMAT_TIME.
11981
11982 2005-05-12  Wim Taymans  <wim@fluendo.com>
11983
11984         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11985         Same fix as Ronald's but without the signal. 
11986
11987 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11988
11989         * gst/gstutils.c: (gst_element_query_position):
11990           No, an element is not a pad.
11991
11992 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11993
11994         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11995         (gst_bin_get_state):
11996           If a child is removed from a bin while we remove the child from
11997           the bin and while we're retrieving its state, signal this to the
11998           get_state function so we abort the wait (instead of waiting for
11999           a timeout) and can immediately re-iterate over all other elements.
12000
12001 2005-05-12  Wim Taymans  <wim@fluendo.com>
12002
12003         * gst/base/Makefile.am:
12004         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12005         (gst_basesrc_start):
12006         * gst/base/gstbasesrc.h:
12007         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12008         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12009         (gst_pushsrc_init), (gst_pushsrc_create):
12010         * gst/base/gstpushsrc.h:
12011         Added is_seekable to BaseSrc
12012         Added simple PushSrc.
12013
12014 2005-05-11  Wim Taymans  <wim@fluendo.com>
12015
12016         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12017         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12018         (gst_element_link_pads), (gst_element_query_position),
12019         (gst_element_query_convert), (intersect_caps_func),
12020         (gst_pad_query_position), (gst_pad_query_convert):
12021         Fix refcounting in utils function.
12022         No point in trying to activate a pad when it's added, it could
12023         be added from the state change function and then we deadlock, the
12024         element has to decide what to do.
12025
12026 2005-05-10  Andy Wingo  <wingo@pobox.com>
12027
12028         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12029         *all* the arguments.
12030
12031         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12032         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12033         lock (according to the docs -- if this is wrong change the docs).
12034
12035         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12036         flush messages in the NULL state.
12037
12038         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12039         message immediately and return.
12040         (gst_bus_set_flushing): New function. If a bus is flushing, it
12041         flushes out any queued messages and immediately unrefs new
12042         messages. This is so when an element goes to NULL, all of the
12043         unhandled messages coming from it can be freed, and their
12044         references to the element dropped. In other words: message source
12045         ref considered harmful :P
12046
12047         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12048         we're finished with it.
12049
12050         * gst/gstmessage.c (gst_message_new_state_changed): 
12051
12052 2005-05-10  Wim Taymans  <wim@fluendo.com>
12053
12054         * gst/gstvalue.c: (gst_value_compare_flags),
12055         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12056         (_gst_value_initialize):
12057         Added flags serialize/deserialize/compare code.
12058
12059 2005-05-09  Andy Wingo  <wingo@pobox.com>
12060
12061         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12062         Intersect the peer's caps with our caps.
12063
12064 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12065
12066         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12067         * gst/elements/gsttypefindelement.c: (find_peek):
12068           Handle negative offsets better. Fixes decodebin.
12069
12070 2005-05-09  Wim Taymans  <wim@fluendo.com>
12071
12072         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12073         (gst_base_transform_event):
12074         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12075         Implement accept_caps.
12076         Fix silly lock/unlock mismatch in base class.
12077
12078 2005-05-09  Wim Taymans  <wim@fluendo.com>
12079
12080         * docs/design/draft-push-pull.txt:
12081         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12082         * gst/elements/gstfilesink.c: (gst_filesink_init),
12083         (gst_filesink_query):
12084         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12085         (gst_type_find_handle_src_query), (find_element_get_length):
12086         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12087         * gst/gstelement.h:
12088         * gst/gstmessage.c:
12089         * gst/gstmessage.h:
12090         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12091         (gst_real_pad_get_caps_unlocked),
12092         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12093         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12094         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12095         (gst_real_pad_dispose), (gst_real_pad_finalize),
12096         (gst_pad_load_and_link), (gst_pad_save_thyself),
12097         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12098         (gst_pad_check_pull_range), (gst_pad_pull_range),
12099         (gst_pad_template_get_type), (gst_pad_template_class_init),
12100         (gst_pad_template_init), (gst_pad_template_dispose),
12101         (name_is_valid), (gst_static_pad_template_get),
12102         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12103         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12104         (gst_pad_get_element_private), (gst_pad_start_task),
12105         (gst_pad_pause_task), (gst_pad_stop_task),
12106         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12107         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12108         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12109         (gst_ghost_pad_new):
12110         * gst/gstpad.h:
12111         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12112         (gst_query_new_position), (gst_query_set_position),
12113         (gst_query_parse_position), (gst_query_new_convert),
12114         (gst_query_set_convert), (gst_query_parse_convert):
12115         * gst/gstquery.h:
12116         * gst/gstqueryutils.c:
12117         * gst/gstqueryutils.h:
12118         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12119         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12120         (gst_queue_handle_src_query):
12121         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12122         (gst_element_query_position), (gst_element_query_convert),
12123         (intersect_caps_func), (gst_pad_query_position),
12124         (gst_pad_query_convert):
12125         * gst/gstutils.h:
12126         * tools/gst-inspect.c: (print_pad_info):
12127         * tools/gst-xmlinspect.c: (print_element_info):
12128         Remove old query functions. Ported old code.
12129         Added position/convert helper functions to gstutils.
12130         Reordered gstpad.c code, grouping relevant things.
12131         Remove gst_message_new(), always need to speficy a specific
12132         message.
12133
12134
12135 2005-05-09  Andy Wingo  <wingo@pobox.com>
12136
12137         * gst/gstiterator.h: Add some includes.
12138
12139         * gst/gstqueryutils.h: Include more headers.
12140
12141         * gst/gstpad.h:
12142         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12143         some uses of gst_pad_query.
12144
12145         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12146         NULL out parameters.
12147         (gst_query_new_position): New proc, allocates a new position
12148         query.
12149
12150         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12151         gstqueryutils.c to the build.
12152
12153         * gst/gststructure.c (gst_structure_set_valist): Implement with
12154         the generic G_VALUE_COLLECT.
12155         
12156 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12157
12158         * gst/Makefile.am: (gst_headers):
12159         Added gstqueryutils.h to the list of headers to install, that was
12160         a 'nachty' move wingo :)
12161
12162 2005-05-06  Andy Wingo  <wingo@pobox.com>
12163
12164         * gst/gstquery.h
12165         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12166         GstData, init a memchunk.
12167         (standard_definitions): Add a few query types, deprecate a few.
12168         (gst_query_get_type): New proc.
12169         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12170         implementation.
12171         (gst_query_new_application, gst_query_get_structure): New public
12172         procs.
12173
12174         * docs/design/draft-query.txt: Removed LINKS from the query types,
12175         because all the rest can be dispatched to other pads -- seemed
12176         ugly to have a query that couldn't be dispatched. internal_links
12177         is fine as a pad method.
12178
12179         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12180         in gstpad.c, but maintain binary compatibility for the moment.
12181         Will fix before 0.9 is out.
12182
12183         * gst/gstqueryutils.c: 
12184         * gst/gstqueryutils.h: New files, implement 3 methods for each
12185         query type: parse_query, parse_response, and set. Probably need an
12186         allocator as well.
12187
12188         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12189
12190         * gst/elements/gstfilesink.c (gst_filesink_query2):
12191         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12192         query_types, and formats methods.
12193
12194         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12195         (gst_pad_set_query2_function): New functions.
12196         (gst_real_pad_init): Set query2_default as the default query2
12197         function. Basically just dispatches to internally linked pads.
12198
12199         Needs review!
12200         
12201         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12202         without using the atomic operations. Only one thread can possibly
12203         be accessing the data at this point. Changed so as to avoid
12204         gst_atomic operations.
12205
12206 2005-05-06  Wim Taymans  <wim@fluendo.com>
12207
12208         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12209         Also set caps if we use the fallback buffer alloc.
12210
12211 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12212
12213         * docs/gst/Makefile.am:
12214         * docs/gst/gstreamer-docs.sgml:
12215         * docs/gst/gstreamer-sections.txt:
12216         * docs/gst/tmpl/gstatomic.sgml:
12217         * docs/gst/tmpl/gstmemchunk.sgml:
12218         * testsuite/elements/struct_i386.h:
12219         * win32/GStreamer.vcproj:
12220         * win32/Makefile:
12221           Purge GstAtomic stuff from docs and win32 makefiles as well
12222
12223 2005-05-06  Wim Taymans  <wim@fluendo.com>
12224
12225         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12226         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12227         * gst/gstpad.c: (gst_pad_peer_get_caps):
12228         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12229         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12230         (gst_queue_src_activate), (gst_queue_change_state):
12231         * gst/gstqueue.h:
12232         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12233         (intersect_caps_func):
12234         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12235         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12236         Some fixes for the peer_get_caps() change.
12237
12238 2005-05-06  Wim Taymans  <wim@fluendo.com>
12239
12240         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12241         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12242         (gst_basesink_activate):
12243         Actually do something with error codes returned from the push
12244         functions.
12245
12246 2005-05-06  Wim Taymans  <wim@fluendo.com>
12247
12248         * docs/design/part-element-sink.txt:
12249         * docs/design/part-element-source.txt:
12250         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12251         (gst_basesink_event), (gst_basesink_activate):
12252         * gst/base/gstbasesink.h:
12253         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12254         (gst_basesrc_activate):
12255         * gst/base/gstbasesrc.h:
12256         * gst/gstelement.c: (gst_element_pads_activate):
12257         Some more documentation.
12258         Fixed scheduling decision in _pads_activate().
12259
12260 2005-05-05  Andy Wingo  <wingo@pobox.com>
12261
12262         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12263         the test suite.
12264
12265 2005-05-05  Wim Taymans  <wim@fluendo.com>
12266
12267         * gst/base/Makefile.am:
12268         * gst/base/gstbasesink.h:
12269         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12270         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12271         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12272         (gst_collectpads_class_init), (gst_collectpads_init),
12273         (gst_collectpads_finalize), (gst_collectpads_new),
12274         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12275         (find_pad), (gst_collectpads_remove_pad),
12276         (gst_collectpads_is_active), (gst_collectpads_collect),
12277         (gst_collectpads_collect_range), (gst_collectpads_start),
12278         (gst_collectpads_stop), (gst_collectpads_peek),
12279         (gst_collectpads_pop), (gst_collectpads_available),
12280         (gst_collectpads_read), (gst_collectpads_flush),
12281         (gst_collectpads_chain):
12282         * gst/base/gstcollectpads.h:
12283         * gst/elements/Makefile.am:
12284         * gst/elements/gstelements.c:
12285         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12286         (gst_fakesink_get_times), (gst_fakesink_event),
12287         (gst_fakesink_preroll), (gst_fakesink_render):
12288         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12289         (gst_filesink_init), (gst_filesink_set_location),
12290         (gst_filesink_open_file), (gst_filesink_close_file),
12291         (gst_filesink_pad_query), (gst_filesink_event),
12292         (gst_filesink_render), (gst_filesink_change_state):
12293         * gst/elements/gstfilesink.h:
12294         Added object to help in making collect pad based elements.
12295         Ported filesink.
12296         Make event function in sink baseclass return gboolean.
12297
12298 2005-05-05  Wim Taymans  <wim@fluendo.com>
12299
12300         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12301         (gst_bin_get_by_name):
12302         * gst/gstbuffer.h:
12303         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12304         (gst_clock_finalize):
12305         * gst/gstdata.c: (gst_data_replace):
12306         * gst/gstdata.h:
12307         * gst/gstelement.c: (gst_element_request_pad),
12308         (gst_element_pads_activate):
12309         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12310         (gst_object_unref):
12311         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12312         (gst_pad_set_checkgetrange_function),
12313         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12314         (gst_pad_check_pull_range), (gst_pad_pull_range),
12315         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12316         (gst_pad_pause_task), (gst_pad_stop_task):
12317         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12318         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12319         Fix name lookup in GstBin.
12320         Added _data_replace() function and _buffer_replace()
12321         Use finalize method to clean up clock.
12322         Fix refcounting on request pads.
12323         Fix pad schedule mode error.
12324         Some more object refcounting debug info,
12325
12326
12327 2005-05-04  Andy Wingo <wingo@pobox.com>
12328
12329         * check/Makefile.am:
12330         * docs/gst/tmpl/gstatomic.sgml:
12331         * docs/gst/tmpl/gstplugin.sgml:
12332         * gst/base/gstbasesink.c: (gst_basesink_activate):
12333         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12334         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12335         (gst_basesrc_query), (gst_basesrc_set_property),
12336         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12337         (gst_basesrc_activate):
12338         * gst/base/gstbasesrc.h:
12339         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12340         (gst_base_transform_src_activate):
12341         * gst/elements/gstelements.c:
12342         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12343         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12344         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12345         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12346         (gst_type_find_element_checkgetrange),
12347         (gst_type_find_element_activate):
12348         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12349         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12350         (gst_caps_load_thyself):
12351         * gst/gstelement.c: (gst_element_pads_activate),
12352         (gst_element_save_thyself), (gst_element_restore_thyself):
12353         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12354         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12355         * gst/gstpad.h:
12356         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12357         (gst_xml_parse_file), (gst_xml_parse_memory),
12358         (gst_xml_get_element), (gst_xml_make_element):
12359         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12360         (_file_index_id_save_xml), (gst_file_index_commit):
12361         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12362         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12363         (load_paths):
12364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12365         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12366         * tools/gst-complete.c: (main):
12367         * tools/gst-compprep.c: (main):
12368         * tools/gst-inspect.c: (print_element_properties_info):
12369         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12370         * tools/gst-xmlinspect.c: (print_element_properties):
12371         GCC 4 fixen.
12372         
12373 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12374
12375         * gst/gstplugin.c: (gst_plugin_check_module),
12376         (gst_plugin_check_file), (gst_plugin_load_file):
12377             apply patch from #172526 to make register work on MacOSX
12378
12379 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12380
12381         * docs/gst/tmpl/gstconfig.sgml:
12382         * gst/gstconfig.h.in:
12383           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12384         * testsuite/debug/printf_extension.c: (main):
12385           Do not use GST_PTR_FORMAT on pointers to types with
12386           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12387         * testsuite/elements/property.h:
12388           use correct printf format
12389
12390 2005-05-02  Wim Taymans  <wim@fluendo.com>
12391
12392         * docs/design/draft-push-pull.txt:
12393         * docs/design/draft-query.txt:
12394         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12395         (gst_basesrc_start):
12396         Added draft for new query API.
12397         Added draft for better selecting scheduling methods.
12398         Make basesrc ignore length if the subclass does not support
12399         it.
12400
12401 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12402
12403         * gst/Makefile.am:
12404           possible fixes for automake-1.5 - _LIBADD is reserved
12405
12406 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12407
12408         * docs/faq/Makefile.am:
12409         * docs/manual/Makefile.am:
12410         * docs/manuals.mak:
12411         * docs/pwg/Makefile.am:
12412         * gst/Makefile.am:
12413           possible fixes for automake-1.5
12414
12415 2005-04-28  Wim Taymans  <wim@fluendo.com>
12416
12417         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12418         (gst_basesink_pad_getcaps), (gst_basesink_init),
12419         (gst_basesink_do_sync):
12420         * gst/gstclock.c: (gst_clock_entry_new):
12421         * gst/gstevent.c: (gst_event_discont_get_value):
12422         * gst/gstpipeline.c: (pipeline_bus_handler),
12423         (gst_pipeline_change_state):
12424         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12425         Better debugging of clocking info.
12426         Allow NULL values when getting discont values.
12427
12428 2005-04-27  Wim Taymans  <wim@fluendo.com>
12429
12430         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12431         * check/gst/gstpad.c: (gst_pad_suite):
12432         Increase timeout for checks.
12433
12434 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12435
12436         * check/Makefile.am:
12437           fix the broken rule for cleanup.  Apparently this rule is
12438           only needed on FC2, so maybe this warrants further autotool
12439           inspection.
12440
12441 2005-04-26  Wim Taymans  <wim@fluendo.com>
12442
12443         * gst/gsttrashstack.h:
12444         Ooohh. a nasty one! After having a failed pop() from the stack,
12445         it's possible that the stack is empty. In that case, don't
12446         follow the NULL pointer.
12447
12448 2005-04-25  Wim Taymans  <wim@fluendo.com>
12449
12450         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12451         (gst_pad_set_checkgetrange_function),
12452         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12453         (gst_pad_check_pull_range), (gst_pad_pull_range),
12454         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12455         (gst_pad_pause_task), (gst_pad_stop_task):
12456         * gst/gstplugin.c: (gst_plugin_load):
12457         * gst/gstplugin.h:
12458         Remove gst_library_load as it does more harm than good with
12459         the new g_module flags.
12460         Revert bogus caps template check in pad linking, pad caps
12461         are important when linking not the template, which is more
12462         general than the current caps.
12463
12464 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12465
12466         * gst/autoplug/.cvsignore:
12467         * gst/autoplug/Makefile.am:
12468         * gst/autoplug/gstsearchfuncs.c:
12469         * gst/autoplug/gstsearchfuncs.h:
12470         * gst/autoplug/gstspider.c:
12471         * gst/autoplug/gstspider.h:
12472         * gst/autoplug/gstspideridentity.c:
12473         * gst/autoplug/gstspideridentity.h:
12474         * gst/autoplug/spidertest.c:
12475           Die, spider, die.
12476
12477 2005-04-25  Wim Taymans  <wim@fluendo.com>
12478
12479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12480         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12481         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12482         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12483         * gst/gstpad.h:
12484         Added stubs for unimplemented functions. 
12485
12486 2005-04-24  David Schleef  <ds@schleef.org>
12487
12488         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12489         please fix.
12490
12491 2005-04-24  David Schleef  <ds@schleef.org>
12492
12493         Convert everything from GstAtomicInt to g_atomic_int_*, and
12494         remove gstatomic.
12495         * gst/Makefile.am:
12496         * gst/gstatomic.c:
12497         * gst/gstatomic.h:
12498         * gst/gstatomic_impl.h:
12499         * gst/gstbuffer.c:
12500         * gst/gstcaps.c:
12501         * gst/gstcaps.h:
12502         * gst/gstclock.c:
12503         * gst/gstclock.h:
12504         * gst/gstdata.c:
12505         * gst/gstdata.h:
12506         * gst/gstdata_private.h:
12507         * gst/gstevent.c:
12508         * gst/gstinfo.c:
12509         * gst/gstinfo.h:
12510         * gst/gstmessage.c:
12511         * gst/gstobject.c:
12512         * gst/gstobject.h:
12513         * gst/gststructure.c:
12514         * gst/gststructure.h:
12515         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12516         * gst/gstutils.h:
12517
12518 2005-04-24  David Schleef  <ds@schleef.org>
12519
12520         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12521         make the regressions tests work.  Remove some code that is no
12522         longer true.
12523         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12524         Disable warning for pads without templates.
12525
12526 2005-04-24  David Schleef  <ds@schleef.org>
12527
12528         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12529         functions that handle filtered links.
12530         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12531         removed functions.
12532         * gst/gstutils.c: Fix/remove utility functions that handle
12533         filtered caps.
12534         * gst/gstutils.h:
12535         * gst/gstvalue.c: Add serialization/deserialization of caps
12536         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12537         requires fixing so that the filter caps notation creates
12538         a capsfilter element and sets the filter_caps property.  I
12539         think everyone probably wants to keep the shorthand notation.
12540         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12541         * docs/gst/tmpl/gstpad.sgml:
12542
12543         * gst/elements/gstelements.c: Register capsfilter element.
12544         * gst/Makefile.am: fix spacing
12545         * docs/random/ds/0.9-suggested-changes: random
12546
12547 2005-04-23  David Schleef  <ds@schleef.org>
12548
12549         * gst/elements/Makefile.am:
12550         * gst/elements/gstcapsfilter.c: New element that acts like an
12551         identity, but filters caps.  Will eventually replace filtered
12552         caps in pad linking.
12553         * gst/gstutils.c: (gst_element_create_all_pads): New function
12554         to create all the ALWAYS pads that are registered with an
12555         element class.  This functionality should eventually be
12556         merged in with GstElement initialization.
12557         * gst/gstutils.h:
12558         * testsuite/trigger/README: part of trigger test code that should
12559         have been checked in a long time ago.
12560
12561 2005-04-23  David Schleef  <ds@schleef.org>
12562
12563         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12564         needed with new versions of libtool (nobody will confirm this),
12565         and hard to carry around.
12566         * gst/autoplug/Makefile.am:
12567         * gst/base/Makefile.am:
12568         * gst/elements/Makefile.am:
12569         * gst/indexers/Makefile.am:
12570         * gst/schedulers/Makefile.am:
12571         * libs/gst/bytestream/Makefile.am:
12572         * libs/gst/control/Makefile.am:
12573         * libs/gst/dataprotocol/Makefile.am:
12574         * libs/gst/getbits/Makefile.am:
12575
12576 2005-04-21  Wim Taymans  <wim@fluendo.com>
12577
12578         * docs/design/draft-push-pull.txt:
12579         * docs/design/part-MT-refcounting.txt:
12580         * docs/design/part-TODO.txt:
12581         * docs/design/part-caps.txt:
12582         * docs/design/part-events.txt:
12583         * docs/design/part-gstbus.txt:
12584         * docs/design/part-gstpipeline.txt:
12585         * docs/design/part-messages.txt:
12586         * docs/design/part-push-pull.txt:
12587         * docs/design/part-query.txt:
12588         Some more docs.
12589
12590 2005-04-21  Wim Taymans  <wim@fluendo.com>
12591
12592         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12593         (gst_message_new), (gst_message_new_error),
12594         (gst_message_new_warning), (gst_message_new_tag),
12595         (gst_message_new_state_changed), (gst_message_new_application),
12596         (gst_message_get_structure):
12597         * gst/gstmessage.h:
12598         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12599         (gst_structure_copy_conditional):
12600         Use parent refcount in GstMessage to ensure GstStructure
12601         consistency.
12602         Cleaned up headers a bit.
12603         
12604
12605 2005-04-20  Wim Taymans  <wim@fluendo.com>
12606
12607         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12608         (gst_basesink_pad_getcaps), (gst_basesink_init),
12609         (gst_basesink_chain_unlocked):
12610         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12611         (gst_type_find_helper):
12612         * gst/elements/gsttypefindelement.c:
12613         (gst_type_find_element_have_type), (gst_type_find_element_init),
12614         (stop_typefinding), (gst_type_find_element_handle_event),
12615         (find_suggest), (gst_type_find_element_chain),
12616         (gst_type_find_element_checkgetrange),
12617         (gst_type_find_element_getrange), (do_typefind),
12618         (gst_type_find_element_activate):
12619         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12620         (gst_buffer_default_free), (gst_buffer_default_copy),
12621         (gst_buffer_set_caps):
12622         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12623         (gst_caps_replace):
12624         * gst/gstmessage.c: (gst_message_new),
12625         (gst_message_new_state_changed):
12626         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12627         (gst_pad_set_checkgetrange_function),
12628         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12629         (gst_pad_set_caps), (gst_pad_check_pull_range),
12630         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12631         * gst/gstpad.h:
12632         * gst/gsttypefind.c: (gst_type_find_register):
12633         Make gst_caps_replace() work like other _replace() functions.
12634         Use _caps_replace() where possible.
12635         Make sure _message_new() initialises its field.
12636         Add gst_static_pad_template_get_caps()
12637
12638
12639 2005-04-18  Andy Wingo  <wingo@pobox.com>
12640
12641         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12642         on the peer, not the pad. I think that was a typo. Pass an extra
12643         arg to see if random access is possible. Activate the pads as
12644         PULL_RANGE if possible.
12645
12646         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12647
12648         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12649         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12650         to PROP_....
12651
12652 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12653
12654         * docs/faq/using.xml:
12655           Add note on gstreamer-properties (#154996).
12656
12657 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12658
12659         * docs/random/bbb/optional-properties:
12660           Some analysis on optional properties.
12661
12662 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12663
12664         * docs/gst/tmpl/gstelementfactory.sgml:
12665         * gst/gstelement.h:
12666         * gst/gstelementfactory.c: (gst_element_factory_init),
12667         (gst_element_factory_cleanup), (gst_element_register),
12668         (__gst_element_factory_add_static_pad_template),
12669         (gst_element_factory_get_static_pad_templates),
12670         (gst_element_factory_can_src_caps),
12671         (gst_element_factory_can_sink_caps):
12672         * gst/registries/Makefile.am:
12673         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12674         (gst_xml_registry_class_init), (gst_xml_registry_init),
12675         (gst_xml_registry_new), (gst_xml_registry_set_property),
12676         (gst_xml_registry_get_property), (get_time), (make_dir),
12677         (gst_xml_registry_get_perms_func),
12678         (plugin_times_older_than_recurse), (plugin_times_older_than),
12679         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12680         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12681         (add_to_char_array), (read_string), (read_uint), (read_enum),
12682         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12683         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12684         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12685         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12686         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12687         (gst_xml_registry_rebuild):
12688         * gst/registries/gstlibxmlregistry.h:
12689         * tools/gst-compprep.c: (main):
12690         * tools/gst-inspect.c: (print_pad_templates_info):
12691         * tools/gst-xmlinspect.c: (print_element_info):
12692           Use libxml2 for registry parsing, use staticpadtemplates in
12693           elementfactories. Makes gst_init() +/- 10x faster.
12694
12695 2005-04-12  Wim Taymans  <wim@fluendo.com>
12696
12697         * gst/base/Makefile.am:
12698         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12699         (gst_basesink_pad_getcaps), (gst_basesink_init),
12700         (gst_basesink_event), (gst_basesink_change_state):
12701         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12702         (gst_basesrc_init), (gst_basesrc_query),
12703         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12704         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12705         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12706         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12707         (gst_basesrc_stop), (gst_basesrc_activate),
12708         (gst_basesrc_change_state):
12709         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12710         (helper_find_suggest), (gst_type_find_helper):
12711         * gst/base/gsttypefindhelper.h:
12712         * gst/elements/Makefile.am:
12713         * gst/elements/gstelements.c:
12714         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12715         (gst_fakesink_get_times), (gst_fakesink_event),
12716         (gst_fakesink_preroll), (gst_fakesink_render):
12717         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12718         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12719         (gst_fakesrc_get_property), (gst_fakesrc_create),
12720         (gst_fakesrc_start), (gst_fakesrc_stop):
12721         * gst/elements/gstfakesrc.h:
12722         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12723         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12724         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12725         (gst_filesrc_create_read), (gst_filesrc_create),
12726         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12727         (gst_filesrc_start):
12728         * gst/elements/gsttypefindelement.c:
12729         (gst_type_find_element_have_type), (gst_type_find_element_init),
12730         (start_typefinding), (stop_typefinding), (push_buffer_store),
12731         (gst_type_find_element_handle_event),
12732         (gst_type_find_element_chain),
12733         (gst_type_find_element_checkgetrange),
12734         (gst_type_find_element_getrange), (do_typefind),
12735         (gst_type_find_element_activate),
12736         (gst_type_find_element_change_state):
12737         * gst/elements/gsttypefindelement.h:
12738         * gst/gstpipeline.c: (pipeline_bus_handler):
12739         Added typefind helper.
12740         Small preroll fix in the base sink.
12741         Disable typefind code in basesrc.
12742         Crude port of typefindelement.
12743         Fakesrc cleanups.
12744
12745
12746 2005-04-11  Wim Taymans  <wim@fluendo.com>
12747
12748         * check/gst/gstbus.c: (gstbus_suite):
12749         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12750         * check/gstcheck.h:
12751           Fix up the timeout so that the test does not fail.
12752
12753 2005-04-06  Wim Taymans  <wim@fluendo.com>
12754
12755         * gst/base/README:
12756         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12757         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12758         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12759         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12760         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12761         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12762         (gst_basesrc_stop), (gst_basesrc_activate),
12763         (gst_basesrc_change_state), (basesrc_find_peek),
12764         (basesrc_find_suggest), (gst_basesrc_type_find):
12765         * gst/base/gstbasesrc.h:
12766         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12767         (gst_filesrc_class_init), (gst_filesrc_init),
12768         (gst_filesrc_finalize), (gst_filesrc_set_location),
12769         (gst_filesrc_set_property), (gst_filesrc_get_property),
12770         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12771         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12772         (gst_filesrc_create_read), (gst_filesrc_create),
12773         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12774         * gst/elements/gstfilesrc.h:
12775         * gst/gstelement.c: (gst_element_get_state_func),
12776         (gst_element_lost_state), (gst_element_pads_activate):
12777         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12778         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12779         (gst_pad_pull_range):
12780         * gst/gstpad.h:
12781         More work on the generic source base class, implement seeking,
12782         query.
12783         Make filesrc extend the base source class.
12784         Added gst_pad_set_checkgetrange_function to GstPad.
12785
12786 2005-04-06  Andy Wingo  <wingo@pobox.com>
12787
12788         * pkgconfig/gstreamer-base.pc.in:
12789         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12790
12791         * pkgconfig/Makefile.am:
12792         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12793
12794 2005-04-04  Wim Taymans  <wim@fluendo.com>
12795
12796         * gst/base/Makefile.am:
12797         * gst/base/README:
12798         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12799         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12800         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12801         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12802         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12803         (gst_basesrc_base_init), (gst_basesrc_class_init),
12804         (gst_basesrc_init), (gst_basesrc_get_formats),
12805         (gst_basesrc_get_query_types), (gst_basesrc_query),
12806         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12807         (gst_basesrc_set_property), (gst_basesrc_get_property),
12808         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12809         (gst_basesrc_loop), (gst_basesrc_activate),
12810         (gst_basesrc_change_state):
12811         * gst/base/gstbasesrc.h:
12812         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12813         (gst_fakesrc_class_init), (gst_fakesrc_init),
12814         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12815         (gst_fakesrc_get_property), (gst_fakesrc_create):
12816         * gst/elements/gstfakesrc.h:
12817         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12818         (gst_filesrc_open_file), (gst_filesrc_loop),
12819         (gst_filesrc_activate), (filesrc_find_peek),
12820         (gst_filesrc_type_find):
12821         Made base source class, make fakesrc extend it.
12822         Add comments to basesink class.
12823         Some filesrc cleanup.
12824
12825 2005-03-31  David Schleef  <ds@schleef.org>
12826
12827         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12828         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12829         expected to link against libgstreamer.
12830         * gst/base/Makefile.am: link against libgstreamer
12831         * gst/elements/Makefile.am: same
12832
12833 2005-03-31  Andy Wingo  <wingo@pobox.com>
12834
12835         * tests/instantiate/Makefile.am:
12836         * tests/instantiate/caps.c: Add test to test speed of caps copy
12837         and free.
12838
12839         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12840         GMemChunk to be fair.
12841
12842         * gst/gsttrashstack.h: Remove warning about using the fallback
12843         trash stack implementation, it's still faster than malloc.
12844
12845 2005-03-30  Andy Wingo  <wingo@pobox.com>
12846
12847         * tests/complexity.c: Add a copyright.
12848
12849 2005-03-31  Wim Taymans  <wim@fluendo.com>
12850
12851         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12852         (gst_base_transform_class_init), (gst_base_transform_init),
12853         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12854         (gst_base_transform_get_property),
12855         (gst_base_transform_sink_activate),
12856         (gst_base_transform_src_activate),
12857         (gst_base_transform_change_state):
12858         * gst/base/gstbasetransform.h:
12859         * gst/elements/gstidentity.c: (gst_identity_class_init),
12860         (gst_identity_event), (gst_identity_check_perfect),
12861         (gst_identity_transform), (gst_identity_start),
12862         (gst_identity_stop):
12863         Added start/stop methods to transform base class so subclasses 
12864         don't need to deal with state changes even.
12865
12866 2005-03-31  Wim Taymans  <wim@fluendo.com>
12867
12868         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12869         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12870         * gst/gstevent.h:
12871         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12872         (gst_pad_pull_range):
12873         Added rate to the discont event to prepare for variable speed
12874         and reverse playback.
12875
12876 2005-03-29  David Schleef  <ds@schleef.org>
12877
12878         * configure.ac:
12879         * testsuite/trigger/Makefile.am:
12880         * testsuite/trigger/trigger.c: A little example program to show
12881         how trigger-based elements can work.
12882
12883 2005-03-29  Wim Taymans  <wim@fluendo.com>
12884
12885         * gst/base/Makefile.am:
12886         * gst/base/README:
12887         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12888         (gst_basesink_base_init), (gst_basesink_class_init),
12889         (gst_basesink_pad_getcaps), (gst_basesink_init),
12890         (gst_basesink_activate), (gst_basesink_change_state):
12891         * gst/base/gstbasesink.h:
12892         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12893         (gst_base_transform_base_init), (gst_base_transform_finalize),
12894         (gst_base_transform_class_init), (gst_base_transform_init),
12895         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12896         (gst_base_transform_event), (gst_base_transform_getrange),
12897         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12898         (gst_base_transform_set_property),
12899         (gst_base_transform_get_property),
12900         (gst_base_transform_sink_activate),
12901         (gst_base_transform_src_activate),
12902         (gst_base_transform_change_state):
12903         * gst/base/gstbasetransform.h:
12904         * gst/elements/gstidentity.c: (gst_identity_finalize),
12905         (gst_identity_class_init), (gst_identity_init),
12906         (gst_identity_event), (gst_identity_check_perfect),
12907         (gst_identity_transform), (gst_identity_set_property),
12908         (gst_identity_get_property), (gst_identity_change_state):
12909         * gst/elements/gstidentity.h:
12910         * gst/gstelement.c: (gst_element_get_state_func),
12911         (gst_element_lost_state), (gst_element_pads_activate):
12912         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12913         (gst_pad_check_pull_range), (gst_pad_pull_range):
12914         * gst/gstpad.h:
12915         Simplify pad activation.
12916         Added function to check if pull_range can be performed.
12917         Error out when pulling inactive or flushing pads.
12918         Removed const from refcounted types as it does not make sense.
12919         Simplify pad templates in basesink
12920         Added base class for simple 1-to-1 transforms.
12921         Make identity subclass the base transform.
12922
12923 2005-03-29  Andy Wingo  <wingo@pobox.com>
12924
12925         * docs/libs/gstreamer-libs-overrides.txt: 
12926         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12927         really don't understand what's going on, but like whatever. I want
12928         green buildbot!
12929
12930         * docs/gst/Makefile.am:
12931         * docs/libs/Makefile.am: Dist the overrides files.
12932
12933         * check/Makefile.am (clean-local): Remove .libs directories.
12934
12935         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12936         elements to EXTRA_DIST, so po/ files are happy.
12937
12938         * po/POTFILES.in: Er, remove it here.
12939
12940         * po/POTFILES: Remove gstspider.c.
12941
12942         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12943
12944         * docs/libs/gstreamer-libs-docs.sgml: 
12945         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12946         bytestream.
12947
12948         * tests/complexity.c (main): Set the length of the preroll queue
12949         on the sinks to prevent a lockup.
12950
12951         * libs/gst/dataprotocol/Makefile.am: 
12952         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12953         the same as the one in check/gst-libs/gdp.c.
12954
12955         * po/, docs/gst/: Commit automatic changes to docs and po files.
12956
12957         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12958         the versioned libgstbase.
12959
12960         * check/Makefile.am: Depend on an unversioned gst-register, seems
12961         to make autoconf happier.
12962
12963         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12964
12965 2005-03-28  Wim Taymans  <wim@fluendo.com>
12966
12967         * configure.ac:
12968         * docs/design/part-gstelement.txt:
12969         * docs/design/part-negotiation.txt:
12970         * docs/design/part-preroll.txt:
12971         * docs/design/part-scheduling.txt:
12972         * docs/design/part-states.txt:
12973         * gst/Makefile.am:
12974         * gst/base/Makefile.am:
12975         * gst/base/README:
12976         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12977         (gst_basesink_base_init), (gst_basesink_class_init),
12978         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12979         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12980         (gst_basesink_set_pad_functions),
12981         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12982         (gst_basesink_set_property), (gst_basesink_get_property),
12983         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12984         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12985         (gst_basesink_preroll_queue_push),
12986         (gst_basesink_preroll_queue_empty),
12987         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12988         (gst_basesink_event), (gst_basesink_get_times),
12989         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12990         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12991         (gst_basesink_loop), (gst_basesink_activate),
12992         (gst_basesink_change_state):
12993         * gst/base/gstbasesink.h:
12994         * gst/elements/Makefile.am:
12995         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12996         (gst_fakesink_class_init), (gst_fakesink_init),
12997         (gst_fakesink_set_property), (gst_fakesink_get_property),
12998         (gst_fakesink_get_times), (gst_fakesink_event),
12999         (gst_fakesink_preroll), (gst_fakesink_render),
13000         (gst_fakesink_change_state):
13001         * gst/elements/gstfakesink.h:
13002         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13003         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13004         * gst/gstelement.c: (gst_element_add_pad),
13005         (gst_element_get_state_func), (gst_element_abort_state),
13006         (gst_element_commit_state), (gst_element_lost_state),
13007         (gst_element_set_state), (gst_element_pads_activate):
13008         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13009         * gst/gstpipeline.c: (gst_pipeline_send_event),
13010         (gst_pipeline_change_state):
13011         Added state change code.
13012         Added/updated docs.
13013         Added sink base class, make fakesink extend the base class.
13014         Small cleanups in GstPipeline.
13015
13016 2005-03-26  David Schleef  <ds@schleef.org>
13017
13018         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13019         is broken and should be implemented in a different library.
13020         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13021         * gst/gst.h: remove gstcpu.h
13022         * gst/gstcpu.c: remove
13023         * gst/gstcpu.h: remove
13024         * gst/Makefile.am.future: Remove this file.  It's ancient.
13025
13026 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13027
13028         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13029         (gst_bin_send_event):
13030           Add default event/set_manager handlers. The set_manager handler
13031           takes care that the manager is distributed over kids that were
13032           already in the bin before the manager was set. The event handler
13033           is a utility virtual function that sends the event over all sinks,
13034           so that gst_element_send_event (bin, event); has the expected
13035           behaviour.
13036         * gst/gstpad.c: (gst_pad_event_default):
13037           Re-install default event handling for discontinuities, so that
13038           seeking works without requiring hacks in applications or extra
13039           code in sinks.
13040         * gst/gstpipeline.c: (gst_pipeline_class_init),
13041         (gst_pipeline_send_event):
13042           Half hack, half utility: set a pipeline to PAUSED for seek events,
13043           since that is the only way we can guarantee a/v sync. Means that
13044           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13045           and it "just works".
13046
13047 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13048
13049         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13050           Lock/unlock mismatch.
13051
13052 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13053
13054         * docs/faq/gst-uninstalled:
13055           add gst-plugins-base
13056         * docs/gst/Makefile.am:
13057           don't error out until docs are fixed
13058         * docs/gst/gstreamer.types:
13059           remove thread
13060
13061 2005-03-22  Wim Taymans  <wim@fluendo.com>
13062
13063         * check/Makefile.am:
13064         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13065         * gst/gststructure.c: (gst_structure_set_valist),
13066         (gst_structure_copy_conditional):
13067         Activated more tests.
13068         Added message test.
13069         Added G_TYPE_POINTER to GstStructure.
13070         
13071
13072 2005-03-22  Wim Taymans  <wim@fluendo.com>
13073
13074         * docs/design/part-TODO.txt:
13075         * docs/design/part-events.txt:
13076         * docs/design/part-gstbin.txt:
13077         * docs/design/part-gstbus.txt:
13078         * docs/design/part-gstpipeline.txt:
13079         * docs/design/part-messages.txt:
13080         * gst/gstbus.c:
13081         * gst/gstmessage.c:
13082         Docs updates
13083
13084 2005-03-21  Wim Taymans  <wim@fluendo.com>
13085
13086         * gst/gstbus.c: (gst_bus_post):
13087         Fix copy-and-paste error.
13088
13089 2005-03-21  Wim Taymans  <wim@fluendo.com>
13090
13091         * check/Makefile.am:
13092         * gst/Makefile.am:
13093         * gst/elements/Makefile.am:
13094         * gst/elements/gstelements.c:
13095         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13096         (gst_fakesink_event), (gst_fakesink_chain):
13097         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13098         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13099         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13100         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13101         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13102         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13103         (gst_fakesrc_loop), (gst_fakesrc_activate),
13104         (gst_fakesrc_change_state):
13105         * gst/elements/gstfakesrc.h:
13106         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13107         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13108         (gst_filesrc_open_file), (gst_filesrc_loop),
13109         (gst_filesrc_activate), (gst_filesrc_change_state),
13110         (filesrc_find_peek), (filesrc_find_suggest),
13111         (gst_filesrc_type_find):
13112         * gst/elements/gstidentity.c: (gst_identity_finalize),
13113         (gst_identity_class_init), (gst_identity_init),
13114         (gst_identity_proxy_getcaps), (identity_queue_push),
13115         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13116         (gst_identity_getrange), (gst_identity_chain),
13117         (gst_identity_sink_loop), (gst_identity_src_loop),
13118         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13119         (gst_identity_set_property), (gst_identity_get_property),
13120         (gst_identity_change_state):
13121         * gst/elements/gstidentity.h:
13122         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13123         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13124         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13125         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13126         (gst_tee_sink_activate):
13127         * gst/elements/gsttee.h:
13128         * gst/gst.c: (gst_register_core_elements), (init_post):
13129         * gst/gst.h:
13130         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13131         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13132         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13133         (gst_bin_change_state):
13134         * gst/gstbin.h:
13135         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13136         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13137         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13138         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13139         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13140         (bus_watch_callback), (bus_watch_destroy),
13141         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13142         (poll_timeout), (gst_bus_poll):
13143         * gst/gstbus.h:
13144         * gst/gstcaps.h:
13145         * gst/gstdata.h:
13146         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13147         (gst_element_post_message), (gst_element_message_full),
13148         (gst_element_get_state_func), (gst_element_get_state),
13149         (gst_element_abort_state), (gst_element_commit_state),
13150         (gst_element_lost_state), (gst_element_set_state),
13151         (gst_element_pads_activate), (gst_element_change_state),
13152         (gst_element_dispose), (gst_element_set_manager_func),
13153         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13154         (gst_element_set_manager), (gst_element_get_manager),
13155         (gst_element_set_bus), (gst_element_get_bus),
13156         (gst_element_set_scheduler), (gst_element_get_scheduler):
13157         * gst/gstelement.h:
13158         * gst/gstevent.c: (gst_event_new_segment_seek),
13159         (gst_event_new_flush):
13160         * gst/gstevent.h:
13161         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13162         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13163         (gst_message_new_eos), (gst_message_new_error),
13164         (gst_message_new_warning), (gst_message_new_tag),
13165         (gst_message_new_state_changed), (gst_message_new_application),
13166         (gst_message_get_structure), (gst_message_parse_tag),
13167         (gst_message_parse_state_changed), (gst_message_parse_error),
13168         (gst_message_parse_warning):
13169         * gst/gstmessage.h:
13170         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13171         (gst_real_pad_set_property), (gst_pad_set_active),
13172         (gst_pad_is_active), (gst_pad_set_blocked_async),
13173         (gst_pad_set_blocked), (gst_pad_is_blocked),
13174         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13175         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13176         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13177         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13178         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13179         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13180         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13181         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13182         (gst_pad_set_caps), (gst_pad_configure_sink),
13183         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13184         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13185         (gst_real_pad_dispose), (gst_real_pad_finalize),
13186         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13187         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13188         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13189         * gst/gstpad.h:
13190         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13191         (pipeline_bus_handler), (gst_pipeline_change_state),
13192         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13193         * gst/gstpipeline.h:
13194         * gst/gstprobe.h:
13195         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13196         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13197         (gst_queue_link_src), (gst_queue_bufferalloc),
13198         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13199         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13200         (gst_queue_loop), (gst_queue_handle_src_event),
13201         (gst_queue_handle_src_query), (gst_queue_src_activate),
13202         (gst_queue_change_state):
13203         * gst/gstqueue.h:
13204         * gst/gstscheduler.c: (gst_scheduler_init),
13205         (gst_scheduler_dispose), (gst_scheduler_create_task),
13206         (gst_scheduler_factory_create):
13207         * gst/gstscheduler.h:
13208         * gst/gststructure.c: (gst_structure_get_type),
13209         (gst_structure_copy_conditional):
13210         * gst/gststructure.h:
13211         * gst/gsttaginterface.h:
13212         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13213         (gst_task_init), (gst_task_dispose), (gst_task_create),
13214         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13215         (gst_task_pause):
13216         * gst/gsttask.h:
13217         * gst/gstthread.c:
13218         * gst/gstthread.h:
13219         * gst/gsttypes.h:
13220         * gst/schedulers/Makefile.am:
13221         * gst/schedulers/cothreads_compat.h:
13222         * gst/schedulers/entryscheduler.c:
13223         * gst/schedulers/faircothreads.c:
13224         * gst/schedulers/faircothreads.h:
13225         * gst/schedulers/fairscheduler.c:
13226         * gst/schedulers/gstbasicscheduler.c:
13227         * gst/schedulers/gstoptimalscheduler.c:
13228         * gst/schedulers/gthread-cothreads.h:
13229         * gst/schedulers/threadscheduler.c:
13230         (gst_thread_scheduler_task_get_type),
13231         (gst_thread_scheduler_task_class_init),
13232         (gst_thread_scheduler_task_init),
13233         (gst_thread_scheduler_task_start),
13234         (gst_thread_scheduler_task_stop),
13235         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13236         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13237         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13238         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13239         (plugin_init):
13240         * libs/gst/Makefile.am:
13241         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13242         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13243         (gst_file_pad_parent_set):
13244         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13245         (gst_dp_event_from_packet):
13246         * tests/complexity.c: (main):
13247         * tests/mass_elements.c: (main):
13248         * testsuite/states/locked.c: (message_received), (main):
13249         * testsuite/states/parent.c: (main):
13250         * tools/gst-inspect.c: (print_element_flag_info),
13251         (print_implementation_info), (print_pad_info):
13252         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13253         (main):
13254         * tools/gst-md5sum.c: (event_loop), (main):
13255         * tools/gst-typefind.c: (main):
13256         * tools/gst-xmlinspect.c: (print_element_info):
13257         Next big merge.
13258         Added GstBus for mainloop integration.
13259         Added GstMessage for sending notifications on the bus.
13260         Added GstTask as an abstraction for pipeline entry points.
13261         Removed GstThread.
13262         Removed Schedulers.
13263         Simplified GstQueue for multithreaded core.
13264         Made _link threadsafe, removed old capsnego.
13265         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13266         Added pad blocking functions.
13267         Reworked scheduling functions in GstPad to prepare for
13268         scheduling updates soon.
13269         Moved events out of data stream.
13270         Simplified GstEvent types.
13271         Added return values to push/pull.
13272         Removed clocking from GstElement.
13273         Added prototypes for state change function for next merge.
13274         Removed iterate from bins and state change management.
13275         Fixed some elements, disabled others for now.
13276         Fixed -inspect and -launch.
13277         Added check for GstBus.
13278
13279 2005-03-10  Wim Taymans  <wim@fluendo.com>
13280
13281         * docs/design/part-MT-refcounting.txt:
13282         * docs/design/part-clocks.txt:
13283         * docs/design/part-gstelement.txt:
13284         * docs/design/part-gstobject.txt:
13285         * docs/design/part-standards.txt:
13286         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13287         (gst_bin_remove_func), (gst_bin_remove):
13288         * gst/gstbin.h:
13289         * gst/gstbuffer.c:
13290         * gst/gstcaps.h:
13291         * testsuite/clock/clock1.c: (main):
13292         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13293         (main):
13294         * testsuite/dlopen/loadgst.c: (do_test):
13295         * testsuite/refcounting/bin.c: (add_remove_test1),
13296         (add_remove_test2), (main):
13297         * testsuite/refcounting/element.c: (main):
13298         * testsuite/refcounting/element_pad.c: (main):
13299         * testsuite/refcounting/pad.c: (main):
13300         * tools/gst-launch.c: (sigint_handler_sighandler):
13301         * tools/gst-typefind.c: (main):
13302         Doc updates.
13303         Added doc about clock.
13304         removed gst_bin_iterate_recurse_up(), marked methods
13305         for removal.
13306         Fix more testsuites.
13307
13308 2005-03-09  Wim Taymans  <wim@fluendo.com>
13309
13310         * gst/gstpad.c: (gst_pad_get_direction),
13311         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13312         (gst_pad_collect_valist):
13313         * testsuite/bins/interface.c: (main):
13314         * testsuite/caps/audioscale.c: (test_caps):
13315         * testsuite/caps/caps.c: (test1), (test2), (test3):
13316         * testsuite/caps/deserialize.c: (main):
13317         * testsuite/caps/enumcaps.c: (main):
13318         * testsuite/caps/filtercaps.c: (main):
13319         * testsuite/caps/intersect2.c: (main):
13320         * testsuite/caps/random.c: (main):
13321         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13322         * testsuite/caps/sets.c: (check_caps):
13323         * testsuite/caps/simplify.c: (check_caps), (main):
13324         * testsuite/caps/subtract.c: (check_caps):
13325         Fix _pad_get_direction wrt ghostpads.
13326         Fix caps testsuite.
13327
13328 2005-03-09  Wim Taymans  <wim@fluendo.com>
13329
13330         * check/Makefile.am:
13331         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13332         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13333         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13334         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13335         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13336         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13337         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13338         (bin_element_is_sink), (gst_bin_iterate_sinks),
13339         (gst_bin_iterate_all_by_interface):
13340         * gst/gstbin.h:
13341         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13342         (gst_element_change_state), (gst_element_dispose),
13343         (gst_element_finalize), (gst_element_set_loop_function):
13344         * gst/gstelement.h:
13345         * gst/gstiterator.c: (find_custom_fold_func):
13346         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13347         (gst_pad_collectv), (gst_pad_collect_valist),
13348         (gst_pad_template_new):
13349         * gst/gstpipeline.c: (gst_pipeline_class_init),
13350         (gst_pipeline_dispose), (gst_pipeline_set_property),
13351         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13352         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13353         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13354         * gst/gstutils.h:
13355         * gst/schedulers/entryscheduler.c:
13356         * gst/schedulers/gstbasicscheduler.c:
13357         (gst_basic_scheduler_cothreaded_chain),
13358         (gst_basic_scheduler_chain_add_element):
13359         * testsuite/bins/interface.c: (main):
13360         Added GstBin test.
13361         Added GstSystemClock test.
13362         Implemented clock distribution code in GstBin.
13363         Implemented iterate sinks method for future use.
13364         Rearranged gstelement.h
13365         Fix GstIterator comparison bug.
13366         Moved some code to GstPipeline, mostly clocking related.
13367
13368 2005-03-09  Wim Taymans  <wim@fluendo.com>
13369
13370         * configure.ac:
13371         * gst/gst_private.h:
13372         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13373         (gst_bin_remove_func), (gst_bin_remove),
13374         (gst_bin_get_by_name_recurse_up):
13375         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13376         (gst_clock_id_compare_func), (gst_clock_id_wait),
13377         (gst_clock_id_wait_async), (gst_clock_init),
13378         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13379         * gst/gstelement.h:
13380         * gst/gstinfo.c: (_gst_debug_init):
13381         * gst/gstobject.h:
13382         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13383         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13384         * gst/gstpad.h:
13385         Bump version number, we're now 0.9.0
13386         Add future debugging category.
13387         Fix NULL _unref() in _get_by_name_recurse_up
13388         Rearrange gstpad.h.
13389         Update some docs.
13390
13391 2005-03-08  Wim Taymans  <wim@fluendo.com>
13392
13393         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13394         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13395         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13396         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13397         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13398         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13399         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13400         * gst/elements/gstidentity.c: (gst_identity_class_init):
13401         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13402         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13403         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13404         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13405         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13406         (gst_tee_link):
13407         * gst/gstelement.c: (gst_element_class_init),
13408         (gst_element_base_class_init), (gst_element_init),
13409         (gst_element_get_random_pad), (gst_element_wait_state_change),
13410         (gst_element_change_state), (gst_element_dispose),
13411         (gst_element_finalize), (gst_element_set_loop_function):
13412         * gst/gstelement.h:
13413         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13414         * gst/gstthread.c: (gst_thread_class_init),
13415         (gst_thread_release_children_locks), (gst_thread_change_state):
13416         * gst/schedulers/gstbasicscheduler.c:
13417         (gst_basic_scheduler_loopfunc_wrapper),
13418         (gst_basic_scheduler_chain_wrapper),
13419         (gst_basic_scheduler_src_wrapper),
13420         (gst_basic_scheduler_remove_element):
13421         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13422         Remove threadsafe properties. Fix elements because GObject
13423         complains when installing a property before declaring a
13424         set/get_property handler.
13425         Rearrange gstelement.h file, use STATE macros for state locks.
13426         Free mutexes in the finalize method instead of dispose.
13427
13428 2005-03-08  Wim Taymans  <wim@fluendo.com>
13429
13430         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13431         * gst/gstthread.c: (gst_thread_release_children_locks):
13432         Added parentage check.
13433         Fix build og GstThread again.
13434
13435 2005-03-08  Wim Taymans  <wim@fluendo.com>
13436
13437         * docs/design/part-MT-refcounting.txt:
13438         * docs/design/part-conventions.txt:
13439         * docs/design/part-gstobject.txt:
13440         * docs/design/part-relations.txt:
13441         * docs/design/part-standards.txt:
13442         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13443         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13444         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13445         (gst_bin_iterate_all_by_interface):
13446         * gst/gstbuffer.h:
13447         * gst/gstclock.h:
13448         * gst/gstelement.c: (gst_element_class_init),
13449         (gst_element_change_state), (gst_element_set_loop_function):
13450         * gst/gstelement.h:
13451         * gst/gstiterator.c:
13452         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13453         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13454         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13455         (gst_object_set_parent), (gst_object_unparent),
13456         (gst_object_check_uniqueness):
13457         * gst/gstobject.h:
13458         Docs updates, clean up some headers.
13459
13460 2005-03-07  Wim Taymans  <wim@fluendo.com>
13461
13462         * check/.cvsignore:
13463         * check/Makefile.am:
13464         * check/gst-libs/.cvsignore:
13465         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13466         * check/gst/.cvsignore:
13467         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13468         (START_TEST), (gstbus_suite), (main):
13469         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13470         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13471         (gst_data_suite), (main):
13472         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13473         (add_fold_func), (gstiterator_suite), (main):
13474         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13475         (thread_name_object), (thread_name_object_default),
13476         (gst_object_name_compare), (gst_object_suite), (main):
13477         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13478         (gst_pad_suite), (main):
13479         * check/gstcheck.c: (gst_check_log_message_func),
13480         (gst_check_log_critical_func), (gst_check_init):
13481         * check/gstcheck.h:
13482         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13483         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13484         Added checks.
13485
13486 2005-03-07  Wim Taymans  <wim@fluendo.com>
13487
13488         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13489         (gst_list_iterator_next), (gst_list_iterator_resync),
13490         (gst_list_iterator_free), (gst_iterator_new_list),
13491         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13492         (gst_iterator_free), (gst_iterator_push), (filter_next),
13493         (filter_resync), (filter_uninit), (filter_free),
13494         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13495         (gst_iterator_foreach), (find_custom_fold_func),
13496         (gst_iterator_find_custom):
13497         * gst/gstiterator.h:
13498         Added missing files.
13499
13500 2005-03-07  Wim Taymans  <wim@fluendo.com>
13501
13502         * Makefile.am:
13503         * configure.ac:
13504         * docs/design/part-MT-refcounting.txt:
13505         * docs/design/part-conventions.txt:
13506         * docs/design/part-gstobject.txt:
13507         * docs/design/part-relations.txt:
13508         * examples/mixer/mixer.c: (main):
13509         * examples/thread/thread.c: (eos), (main):
13510         * gst/Makefile.am:
13511         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13512         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13513         (gst_spider_plug_from_srcpad):
13514         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13515         (gst_spider_identity_change_state),
13516         (gst_spider_identity_sink_loop_type_finding):
13517         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13518         * gst/elements/gstidentity.c: (gst_identity_init):
13519         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13520         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13521         * gst/elements/gsttypefindelement.c: (free_entry):
13522         * gst/gst.c:
13523         * gst/gst.h:
13524         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13525         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13526         (gst_bin_set_index), (gst_bin_set_element_sched),
13527         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13528         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13529         (gst_bin_iterate_elements), (iterate_child_recurse),
13530         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13531         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13532         (compare_interface), (gst_bin_get_by_interface),
13533         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13534         * gst/gstbin.h:
13535         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13536         (gst_buffer_default_free), (gst_buffer_default_copy),
13537         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13538         (gst_buffer_create_sub):
13539         * gst/gstbuffer.h:
13540         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13541         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13542         (gst_caps_unref), (gst_static_caps_get),
13543         (gst_caps_remove_and_get_structure), (gst_caps_append),
13544         (gst_caps_append_structure), (gst_caps_remove_structure),
13545         (gst_caps_copy_nth), (gst_caps_set_simple),
13546         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13547         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13548         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13549         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13550         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13551         (gst_caps_structure_figure_out_union),
13552         (gst_caps_switch_structures), (gst_caps_do_simplify),
13553         (gst_caps_replace), (gst_caps_from_string),
13554         (gst_caps_copy_conditional):
13555         * gst/gstcaps.h:
13556         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13557         (_gst_clock_id_free), (gst_clock_id_unref),
13558         (gst_clock_id_compare_func), (gst_clock_id_wait),
13559         (gst_clock_id_wait_async), (gst_clock_class_init),
13560         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13561         (gst_clock_get_time), (gst_clock_set_time_adjust),
13562         (gst_clock_set_property), (gst_clock_get_property):
13563         * gst/gstclock.h:
13564         * gst/gstcompat.h:
13565         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13566         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13567         * gst/gstdata.h:
13568         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13569         (gst_element_requires_clock), (gst_element_provides_clock),
13570         (gst_element_set_clock), (gst_element_clock_wait),
13571         (gst_element_wait), (gst_element_set_time_delay),
13572         (gst_element_is_indexable), (gst_element_add_pad),
13573         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13574         (pad_compare_name), (gst_element_get_static_pad),
13575         (gst_element_request_pad), (gst_element_get_request_pad),
13576         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13577         (gst_element_class_get_pad_template_list),
13578         (gst_element_class_get_pad_template), (gst_element_error_func),
13579         (gst_element_get_random_pad), (gst_element_get_event_masks),
13580         (gst_element_send_event), (gst_element_seek),
13581         (gst_element_get_query_types), (gst_element_query),
13582         (gst_element_get_formats), (gst_element_convert),
13583         (gst_element_is_locked_state), (gst_element_set_locked_state),
13584         (gst_element_sync_state_with_parent), (gst_element_change_state),
13585         (gst_element_finalize), (gst_element_yield),
13586         (gst_element_interrupt), (gst_element_set_scheduler),
13587         (gst_element_get_scheduler), (gst_element_set_loop_function):
13588         * gst/gstelement.h:
13589         * gst/gstevent.h:
13590         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13591         (gst_format_get_by_nick), (gst_format_get_details),
13592         (gst_format_iterate_definitions):
13593         * gst/gstformat.h:
13594         * gst/gstindex.c: (gst_index_gtype_resolver):
13595         * gst/gstinfo.c:
13596         * gst/gstinfo.h:
13597         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13598         (gst_mem_chunk_free):
13599         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13600         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13601         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13602         (gst_object_dispatch_properties_changed),
13603         (gst_object_set_name_default), (gst_object_set_name),
13604         (gst_object_get_name), (gst_object_set_name_prefix),
13605         (gst_object_get_name_prefix), (gst_object_set_parent),
13606         (gst_object_get_parent), (gst_object_unparent),
13607         (gst_object_check_uniqueness), (gst_object_save_thyself),
13608         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13609         (gst_object_set_property), (gst_object_get_property),
13610         (gst_object_get_path_string):
13611         * gst/gstobject.h:
13612         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13613         (gst_real_pad_init), (gst_real_pad_get_property),
13614         (gst_pad_custom_new), (gst_pad_get_direction),
13615         (gst_pad_set_active), (gst_pad_is_active),
13616         (gst_pad_set_event_function), (gst_pad_is_linked),
13617         (gst_pad_link_free), (gst_pad_link_intersect),
13618         (gst_pad_link_fixate), (gst_pad_set_caps),
13619         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13620         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13621         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13622         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13623         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13624         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13625         (gst_pad_realize), (gst_pad_get_allowed_caps),
13626         (gst_real_pad_dispose), (gst_real_pad_finalize),
13627         (gst_pad_collectv), (gst_pad_collect_valist),
13628         (gst_pad_template_dispose), (gst_pad_template_new),
13629         (gst_pad_get_internal_links):
13630         * gst/gstpad.h:
13631         * gst/gstpipeline.c: (gst_pipeline_dispose),
13632         (gst_pipeline_change_state):
13633         * gst/gstpipeline.h:
13634         * gst/gstplugin.c:
13635         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13636         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13637         * gst/gstpluginfeature.h:
13638         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13639         * gst/gstquery.c: (_gst_query_type_initialize),
13640         (gst_query_type_register), (gst_query_type_get_by_nick),
13641         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13642         * gst/gstquery.h:
13643         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13644         * gst/gstscheduler.c: (gst_scheduler_add_element),
13645         (gst_scheduler_factory_create):
13646         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13647         (gst_structure_free), (gst_structure_set_name),
13648         (gst_structure_id_set_value), (gst_structure_set_value),
13649         (gst_structure_set_valist), (gst_structure_remove_field),
13650         (gst_structure_remove_fields),
13651         (gst_structure_remove_fields_valist),
13652         (gst_structure_remove_all_fields), (gst_structure_foreach),
13653         (gst_structure_map_in_place),
13654         (gst_caps_structure_fixate_field_nearest_int),
13655         (gst_caps_structure_fixate_field_nearest_double):
13656         * gst/gststructure.h:
13657         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13658         (gst_system_clock_init), (gst_system_clock_dispose),
13659         (gst_system_clock_async_thread),
13660         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13661         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13662         * gst/gstsystemclock.h:
13663         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13664         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13665         * gst/gsttaginterface.c:
13666         * gst/gstthread.c: (gst_thread_dispose),
13667         (gst_thread_release_children_locks), (gst_thread_change_state),
13668         (gst_thread_main_loop):
13669         * gst/gsttrashstack.h:
13670         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13671         * gst/gsttypes.h:
13672         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13673         (gst_element_request_pad), (gst_element_get_pad_from_template),
13674         (gst_element_request_compatible_pad),
13675         (gst_element_get_compatible_pad_filtered),
13676         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13677         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13678         (gst_element_link_many), (gst_element_link),
13679         (gst_element_link_pads), (gst_element_unlink_pads),
13680         (gst_element_unlink_many), (gst_element_unlink),
13681         (gst_pad_can_link_filtered), (gst_pad_can_link),
13682         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13683         (gst_object_default_error), (gst_bin_add_many),
13684         (gst_bin_remove_many), (gst_element_populate_std_props),
13685         (gst_element_class_install_std_props), (gst_buffer_merge),
13686         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13687         (link_fold_func), (gst_pad_proxy_setcaps):
13688         * gst/gstutils.h:
13689         * gst/gstvalue.c: (gst_value_deserialize_string):
13690         * gst/parse/grammar.y:
13691         * gst/schedulers/gstbasicscheduler.c:
13692         (gst_basic_scheduler_cothreaded_chain),
13693         (gst_basic_scheduler_chain_recursive_add),
13694         (gst_basic_scheduler_pad_link):
13695         * gst/schedulers/gstoptimalscheduler.c:
13696         (get_group_schedule_function),
13697         (gst_opt_scheduler_state_transition),
13698         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13699         * libs/gst/bytestream/bytestream.c:
13700         * libs/gst/dataprotocol/dataprotocol.c:
13701         (gst_dp_header_from_buffer):
13702         * po/nb.po:
13703         * po/ru.po:
13704         * tests/threadstate/threadstate2.c: (eos):
13705         * tools/gst-compprep.c: (main):
13706         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13707         (print_pad_info), (print_children_info):
13708         * tools/gst-launch.c: (idle_func), (main):
13709         * tools/gst-md5sum.c: (idle_func), (main):
13710         * tools/gst-xmlinspect.c: (print_element_info):
13711         First THREADED backport attempt, focusing on adding locks and
13712         making sure the API is threadsafe. Needs more work. More docs
13713         follow this week.
13714
13715 2005-02-24  Andy Wingo  <wingo@pobox.com>
13716
13717         * tests/bench-complexity.scm:
13718         * tests/complexity.gnuplot: New files, good for running complexity
13719         benchmarks.
13720
13721         * tests/Makefile.am:
13722         * tests/complexity.c: New test, sets up N elements, at each level
13723         teeing into M streams per element. Eeeenteresting.
13724
13725         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13726         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13727         running bench-mass_elements.scm.
13728
13729         * tests/bench-mass_elements.scm: New script, runs mass_elements
13730         for various numbers of identities, outputting the results to a
13731         file. Requires guile 1.6. Just for testing.
13732
13733 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13734
13735         * gst/schedulers/fairscheduler.c:
13736           compile with debug disabled
13737
13738 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13739
13740         * configure.ac:
13741           hunting season on 0.9 is now OPEN