docs/manual/basics-helloworld.xml: Remove superfluous closing bracket in helloworld...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * docs/manual/basics-helloworld.xml:
4           Remove superfluous closing bracket in helloworld example.
5
6 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
7
8         * tools/gst-launch.1.in:
9           Update gst-launch man page; add a section with useful
10           environment variables. Fixes #323882.
11
12 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
13
14         * gst/gst.c:
15         * gst/gst_private.h:
16           change some char* into char[]
17
18 2005-12-16  Wim Taymans  <wim@fluendo.com>
19
20         * gst/gstregistryxml.c: (load_feature):
21         Cleanups.
22         Don't use g_object_unref on GstObjects so that we avoid
23         leaks on unsafe glibs.
24
25 2005-12-16  Wim Taymans  <wim@fluendo.com>
26
27         * gst/gstbin.c: (gst_bin_recalc_state):
28         Small doc updates.
29
30 2005-12-16  Wim Taymans  <wim@fluendo.com>
31
32         * common/check.mak:
33         Added make forever target for check.
34
35 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
36
37         * gst/gst.c: (init_post):
38           make the registry cache file HOST_CPU-dependent
39
40 2005-12-16  Andy Wingo  <wingo@pobox.com>
41
42         * plugins/elements/gstbufferstore.c
43         (gst_buffer_store_cleared_func): Pay attention to g_list_append
44         return value.
45
46         * tests/check/gst/gstobject.c
47         (test_fake_object_name_threaded_unique): Pay attention to
48         g_list_sort return value.
49
50 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
51
52         * tools/gst-feedback-m.m:
53           Update for 0.9/0.10 (fixes #323870).
54
55 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
56
57         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
58           Fix lcopy for mini objects, the mini object needs to be ref'ed.
59           
60         * tests/check/gst/gstminiobject.c: (my_foo_init),
61         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
62         (test_value_collection), (gst_mini_object_suite):
63           Add test to ensure refcounts end up as expected when passing
64           GstMiniObjects through g_object_get() and g_object_set().
65
66 2005-12-14  Julien MOUTTE  <julien@moutte.net>
67
68         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
69         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
70         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
71         of collectpads. This version removes a lot of races without
72         touching API/ABI. Yay !
73
74 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
75
76         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
77           Don't allow activation of a srcpad in pull_range if it has no
78           getrange function.
79           Change some debug statements to be a little clearer
80
81         * plugins/elements/gsttypefindelement.c:
82         (gst_type_find_handle_src_query):
83           Check that we have a peer before executing queries thereupon.
84
85         * tests/examples/metadata/read-metadata.c: (message_loop):
86           Use gst_bus_pop instead of gst_bus_poll when we just want it to
87           immediately return us any available message with 0 timeout.
88
89 2005-12-12  Michael Smith  <msmith@fluendo.com>
90
91         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
92           Don't unref factories after calling them.
93         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
94         * plugins/elements/gsttypefindelement.c:
95         (gst_type_find_element_chain):
96           Free lists of factories after using them. Fixing typefinding memory
97           leaks.
98
99 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
100
101         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
102         (gst_plugin_feature_load):
103           more meaningful debug output
104         * configure.ac:
105         * tests/Makefile.am:
106         * tests/old/examples/Makefile.am:
107           make make distcheck happy again
108
109 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
110
111         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
112           Catch the special case where we are operating chain-based,
113           but the downstream peer pad has no chain function. Emit a
114           custom error message in this case instead of letting the
115           core generate one implying that this is some sort of core
116           bug. It's not, it just means that whatever got plugged
117           into the pipeline downstream when we announced the type
118           can only operate pull-based, while our source can only
119           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
120           Error string has not been marked for translation yet, as
121           it probably needs some more work first.
122
123         (gst_type_find_element_get_best_possibility):
124           Add helper function to find the best of all available
125           found possibilities that qualify given the min. threshold.
126
127         (gst_type_find_element_handle_event):
128           Fix the case where we get an EOS while still in TYPEFIND
129           mode (we want to chose the best of all possible types,
130           not just the first type that happens to be in our unsorted
131           list of possible types).
132
133         (gst_type_find_element_chain):
134           Make sure we return GST_FLOW_ERROR when we errored out
135           in stop_typefinding(); also, don't just find the best of
136           all found type entries and then use the last examined
137           type entry, but actually use the best entry.
138
139 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
140
141         * tests/examples/typefind/typefind.c: (type_found):
142         * tests/examples/xml/runxml.c: (xml_loaded):
143           More gcc4 fixes and a mem leak fix.
144
145 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
146
147         * tests/examples/xml/createxml.c: (object_saved):
148           gcc 4 fixes
149
150 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
151
152         * tests/Makefile.am:
153           enable the examples even more
154
155 2005-12-12  Andy Wingo  <wingo@pobox.com>
156
157         * libs/gst/net/gstnettimeprovider.c
158         (gst_net_time_provider_class_init, gst_net_time_provider_init)
159         (gst_net_time_provider_set_property)
160         (gst_net_time_provider_get_property): Export "active" as a GObject
161         property.
162         (gst_net_time_provider_thread): Only respond to time queries if
163         the time provider is active.
164
165         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
166         NetTimeProvider, preserving binary compat.
167
168 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
169
170         * tests/examples/controller/audio-example.c: (main):
171         * tests/examples/launch/Makefile.am:
172           convert comments again
173
174 2005-12-12  Wim Taymans  <wim@fluendo.com>
175
176         * libs/gst/base/gstpushsrc.c:
177         Fix typo.
178
179 2005-12-12  Wim Taymans  <wim@fluendo.com>
180
181         * docs/libs/gstreamer-libs-sections.txt:
182         Added new symbol to docs.
183
184         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
185         (gst_base_src_init), (gst_base_src_set_format),
186         (gst_base_src_default_query), (gst_base_src_query),
187         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
188         (gst_base_src_perform_seek), (gst_base_src_send_event),
189         (gst_base_src_default_event), (gst_base_src_event_handler),
190         (gst_base_src_set_property), (gst_base_src_get_property),
191         (gst_base_src_wait), (gst_base_src_do_sync),
192         (gst_base_src_update_length), (gst_base_src_get_range),
193         (gst_base_src_check_get_range), (gst_base_src_loop),
194         (gst_base_src_default_negotiate), (gst_base_src_start),
195         (gst_base_src_activate_push), (gst_base_src_activate_pull),
196         (gst_base_src_change_state):
197         * libs/gst/base/gstbasesrc.h:
198         Implement seeking to other formats than _BYTES.
199         Implement more seeking methods correctly.
200         Doc updates.
201         Added query vmethod.
202         Added do_seek vmethod to make life easier for subclasses
203         when seeking.
204         API addition: gst_base_src_set_format()
205
206 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
207
208         * tests/examples/Makefile.am:
209           added that too
210
211 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
212
213         * configure.ac:
214         * docs/random/ensonic/media-device-daemon.txt:
215         * tests/examples/controller/.cvsignore:
216         * tests/examples/controller/Makefile.am:
217         * tests/examples/controller/audio-example.c: (main):
218         * tests/examples/helloworld/.cvsignore:
219         * tests/examples/helloworld/Makefile.am:
220         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
221         * tests/examples/launch/.cvsignore:
222         * tests/examples/launch/Makefile.am:
223         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
224         * tests/examples/metadata/.cvsignore:
225         * tests/examples/metadata/Makefile.am:
226         * tests/examples/metadata/read-metadata.c: (message_loop),
227         (make_pipeline), (print_tag), (main):
228         * tests/examples/queue/.cvsignore:
229         * tests/examples/queue/Makefile.am:
230         * tests/examples/queue/queue.c: (event_loop), (main):
231         * tests/examples/typefind/.cvsignore:
232         * tests/examples/typefind/Makefile.am:
233         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
234         (main):
235         * tests/examples/xml/.cvsignore:
236         * tests/examples/xml/Makefile.am:
237         * tests/examples/xml/createxml.c: (object_saved), (main):
238         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
239         * tests/old/examples/Makefile.am:
240         * tests/old/examples/TODO:
241         * tests/old/examples/controller/.cvsignore:
242         * tests/old/examples/controller/Makefile.am:
243         * tests/old/examples/controller/audio-example.c:
244         * tests/old/examples/helloworld/.cvsignore:
245         * tests/old/examples/helloworld/Makefile.am:
246         * tests/old/examples/helloworld/helloworld.c:
247         * tests/old/examples/launch/.cvsignore:
248         * tests/old/examples/launch/Makefile.am:
249         * tests/old/examples/launch/mp3parselaunch.c:
250         * tests/old/examples/launch/mp3play:
251         * tests/old/examples/manual/Makefile.am:
252         * tests/old/examples/metadata/Makefile.am:
253         * tests/old/examples/metadata/read-metadata.c:
254         * tests/old/examples/queue/.cvsignore:
255         * tests/old/examples/queue/Makefile.am:
256         * tests/old/examples/queue/queue.c:
257         * tests/old/examples/typefind/.cvsignore:
258         * tests/old/examples/typefind/Makefile.am:
259         * tests/old/examples/typefind/typefind.c:
260         * tests/old/examples/xml/.cvsignore:
261         * tests/old/examples/xml/Makefile.am:
262         * tests/old/examples/xml/createxml.c:
263         * tests/old/examples/xml/runxml.c:
264           applied some simple fixing to some examples
265           re-enabled the working examples
266
267 2005-12-12  Wim Taymans  <wim@fluendo.com>
268
269         * gst/gstsegment.c: (gst_segment_init),
270         (gst_segment_set_last_stop), (gst_segment_set_seek),
271         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
272         (gst_segment_to_running_time):
273         Added more documentation.
274         Make sure the last_pos value is updated properly.
275         Make sure to_stream_time and to_running_time don't
276         operate on wrong values.
277
278         * tests/check/gst/gstsegment.c: (GST_START_TEST):
279         Update check.
280
281 2005-12-12  Michael Smith  <msmith@fluendo.com>
282
283         * plugins/elements/gsttypefindelement.c: (free_entry),
284         (gst_type_find_element_chain):
285           Now that we're not leaking factories, make sure we keep references
286           to them while we need them.
287
288 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
289
290         * tests/check/gst/struct_i386.h:
291           ifdef out the XML structs
292
293 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
294
295         * gst/gstvalue.c: (gst_value_transform_double_fraction):
296           floor is not needed, F is always positive; this obviates the
297           need for adding -lm when building without libxml
298
299 2005-12-12  Wim Taymans  <wim@fluendo.com>
300
301         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
302         Take current playback rate into account when reporting
303         the position.
304
305 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
306
307         * docs/manual/mime-world.fig:
308           Let's try this again, this time with a file that is
309           actually in XFig format.
310
311 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
312
313         * docs/manual/mime-world.fig:
314           Add audioconvert element to diagram so that it
315           matches the text and the code (fixes #319526).
316
317 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
318
319         * docs/pwg/building-chainfn.xml:
320         * docs/pwg/building-pads.xml:
321         * docs/pwg/building-state.xml:
322         * docs/pwg/other-source.xml:
323           Update state change stuff for 0.10 (fixes #322969).
324
325 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
326
327         * docs/manual/advanced-dataaccess.xml:
328         * docs/manual/appendix-checklist.xml:
329         * docs/manual/appendix-programs.xml:
330         * docs/manual/basics-pads.xml:
331         * docs/manual/highlevel-components.xml:
332         * docs/manual/manual.xml:
333           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
334           add converters in front of pipelines; remove curly
335           brackets for threads stuff, they no longer exist; use
336           GST_TYPE_FRACTION for framerates; update some pieces of
337           code to 0.10, but there's plenty more to do.
338
339         * docs/manual/appendix-porting.xml:
340           Expand on asynchroneous state changes; s/0.9/0.10/;
341           mention disappearance of gst_init_get_popt_table()
342           (fixes #322916).
343
344 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
345
346         * docs/faq/using.xml:
347           Spider no longer exists, and neither does gst-launch-ext.
348           Update examples to use decodebin and playbin and put
349           converters in front of sinks (fixes #323726).
350
351 2005-12-09  Michael Smith  <msmith@fluendo.com>
352
353         * plugins/elements/gsttypefindelement.c: (find_peek),
354         (gst_type_find_element_chain):
355           Fix leaking element factories in typefinding.
356           Fix problem where we forgot about a probable type on non-seekable
357           files, and thus later mis-typefound it.
358
359 2005-12-09  Michael Smith  <msmith@fluendo.com>
360
361         * common/m4/gst-makecontext.m4:
362         * common/m4/gst-mcsc.m4:
363         * configure.ac:
364         * win32/common/config.h:
365         * win32/common/config.h.in:
366           Remove makecontext stuff; not used in 0.10 and causes problems on
367           HPUX according to bug #322441
368
369 2005-12-07  Wim Taymans  <wim@fluendo.com>
370
371         * tests/check/Makefile.am:
372         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
373         (main):
374         * tests/check/libs/struct_i386.h:
375         Added ABI check for libs
376
377 2005-12-07  Wim Taymans  <wim@fluendo.com>
378
379         * tests/check/Makefile.am:
380         And add the struct_i386.h to dist.
381
382 2005-12-07  Wim Taymans  <wim@fluendo.com>
383
384         * tests/check/Makefile.am:
385         * tests/check/gst/.cvsignore:
386         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
387         (main):
388         * tests/check/gst/struct_i386.h:
389         Added check for ABI compatibility.
390
391 2005-12-07  Wim Taymans  <wim@fluendo.com>
392
393         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
394         (gst_fake_src_get_times), (gst_fake_src_create):
395         Fix broken sync option, fixes #323259
396
397 2005-12-07  Wim Taymans  <wim@fluendo.com>
398
399         * gst/gstbuffer.c:
400         Small docs update.
401
402         * gst/gstcaps.c: (gst_caps_is_equal):
403         Don't assert on NULL <--> X. Fixes #323260
404
405         * gst/gstminiobject.c: (gst_mini_object_replace):
406         If we're doing atomic operations, we might just as well use
407         the proper way to get an atomic pointer.
408
409         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
410         Clean up debugging.
411
412 2005-12-07  Michael Smith  <msmith@fluendo.com>
413
414         * gst/parse/grammar.y:
415           Remove handling of { } for threads.
416
417 2005-12-06  David Schleef  <ds@schleef.org>
418
419         * libs/gst/base/gstbasetransform.c: speling fix.
420
421 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
422
423         * docs/libs/tmpl/gstdataprotocol.sgml:
424         * docs/random/omega/testing/gstobject.c:
425         * gst/gst.c:
426         * gst/gstclock.c:
427         * gst/gstelement.c:
428         * gst/gstelementfactory.c:
429         * gst/gsterror.c:
430         * gst/gstevent.c:
431         * gst/gstghostpad.c:
432         * gst/gstinfo.c:
433         * gst/gstpadtemplate.c:
434         * gst/gstregistryxml.c:
435         * gst/gsttaglist.c:
436         * gst/gsttagsetter.c:
437         * gst/gsttypefind.c:
438         * gst/gstvalue.c:
439         * libs/gst/base/gstbasesrc.c:
440         * libs/gst/net/gstnetclientclock.c:
441         * libs/gst/net/gstnettimeprovider.c:
442         * plugins/elements/gstfakesrc.c:
443         * plugins/elements/gstfdsrc.c:
444         * plugins/elements/gstfilesrc.c:
445         * plugins/elements/gstidentity.c:
446         * plugins/elements/gstqueue.c:
447         * plugins/elements/gsttypefindelement.c:
448         * plugins/indexers/gstfileindex.c:
449         * plugins/indexers/gstmemindex.c:
450         * tests/check/gst/gsttag.c:
451         * tests/old/examples/cutter/cutter.c:
452         * tests/old/examples/mixer/mixer.c:
453         * tests/old/examples/xml/runxml.c: (main):
454         * tests/old/testsuite/caps/normalisation.c:
455         * tests/old/testsuite/debug/global.c:
456         * tests/old/testsuite/parse/parse1.c:
457         * tools/gst-xmlinspect.c:
458         * win32/common/dirent.c:
459           expand tabs
460
461 === release 0.10.0 ===
462
463 2005-12-05   <thomas (at) apestaart (dot) org>
464
465         * configure.ac:
466           releasing 0.10.0, "Maroilles"
467
468 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
469
470         submitted by: Funda Wang <fundawang@linux.net.cn>
471
472         * po/LINGUAS:
473         * po/zh_CN.po:
474           added Chinese (Traditional) translation
475
476 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
477
478         * docs/gst/gstreamer-sections.txt:
479         * docs/libs/tmpl/gstdataprotocol.sgml:
480         * docs/random/thomasvs/TODO:
481         * gst/gstutils.c:
482         * gst/gstutils.h:
483           fix docs
484
485 2005-12-05  Andy Wingo  <wingo@pobox.com>
486
487         patch by: Wim Taymans <wim@fluendo.com>
488
489         * libs/gst/base/gstbasetransform.c
490         (gst_base_transform_prepare_output_buf)
491         (gst_base_transform_buffer_alloc):
492         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
493         alloc_buffer_and_set_caps.
494
495         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
496         set_caps on the source pad.
497         (gst_pad_alloc_buffer_and_set_caps): New function, does what
498         alloc_buffer used to do. Fixes #322874.
499
500         * docs/gst/gstreamer-sections.txt: 
501         * docs/design/part-negotiation.txt: 
502         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
503         changes.
504
505 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
506
507         patch by: Sebastien Moutte
508
509         * win32/MANIFEST:
510         * win32/common/config.h.in:
511         * win32/vs6/libgstcontroller.dsp:
512           win32 build fixes
513
514 2005-12-05  Wim Taymans  <wim@fluendo.com>
515
516         * gst/gstcaps.c: (gst_caps_is_equal):
517         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
518         (gst_fake_src_create):
519         Back out previous code changes, leave doc updates, file bugs 
520         instead. 
521
522 2005-12-05  Wim Taymans  <wim@fluendo.com>
523
524         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
525         (gst_fake_src_get_times), (gst_fake_src_create):
526         * plugins/elements/gstfakesrc.h:
527         Fix broken sync code.
528
529 2005-12-05  Wim Taymans  <wim@fluendo.com>
530
531         * gst/gstcaps.c: (gst_caps_is_equal):
532         Comparing NULL against !NULL yields different caps, not a
533         failure.
534
535 2005-12-05  Wim Taymans  <wim@fluendo.com>
536
537         * gst/gstpipeline.c:
538         Fix small typo in docs.
539
540 2005-12-05  Andy Wingo  <wingo@pobox.com>
541
542         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
543
544         * gst/gst.c (init_post): remove hard-coded 0.9 location for
545         registries/plugins with a MAJORMINOR one.
546         (plugin_desc): Rename library from gstcoreleements to
547         staticelements. Fixes #323222.
548
549 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
550
551         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
552           Change debug category to 'collectpads' from 'collect_pads'
553           (fixes #323250).
554
555 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
556
557         patch by: Sebastien Moutte
558
559         * libs/gst/controller/gstinterpolation.c:
560           use convert function for uint64/double
561         * win32/vs6/libgstcontroller.dsp:
562           link to GLib
563
564 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
565
566         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
567         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
568         * gst/gstutils.h:
569         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
570           add tests that seem to show that the guint64/gdouble conversions
571           are correct.
572
573 2005-12-02  Wim Taymans  <wim@fluendo.com>
574
575         * gst/gstregistry.c: (gst_registry_add_path):
576         * gst/gstregistry.h:
577         * gst/gstregistryxml.c:
578         Fix docs again.
579
580 2005-12-02  Wim Taymans  <wim@fluendo.com>
581
582         * gst/gstutils.c: (gst_util_uint64_scale_int64),
583         (gst_util_uint64_scale_int):
584         Small cleanup.
585
586         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
587         Add debug log line.
588
589         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
590         Add FIXME.
591
592 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
593
594         * win32/MANIFEST:
595         * win32/common/config.h:
596         * win32/vs6/gstreamer.dsw:
597         * win32/vs6/libgstcoreelements.dsp:
598         * win32/vs6/libgstelements.dsp:
599           renamed core elements plugin
600
601 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
602
603         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
604         (get_candidates):
605           do piece-wise major/minor comparison so 0.9 < 0.10
606           also allow .exe extensions for tools
607
608 2005-12-02  Michael Smith  <msmith@fluendo.com>
609
610         * gst/gst.c:
611           Escape a % to make gtkdoc happier; bug 322958.
612
613 === release 0.9.7 ===
614
615 2005-12-01   <thomas (at) apestaart (dot) org>
616
617         * configure.ac:
618           releasing 0.9.7, "My Dog Has No Nose"
619
620 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
621
622         * common/gst-xmlinspect.py:
623         * configure.ac:
624         * docs/libs/tmpl/gstdataprotocol.sgml:
625         * docs/random/release:
626         * po/af.po:
627         * po/az.po:
628         * po/bg.po:
629         * po/ca.po:
630         * po/cs.po:
631         * po/de.po:
632         * po/en_GB.po:
633         * po/fr.po:
634         * po/it.po:
635         * po/nb.po:
636         * po/nl.po:
637         * po/ru.po:
638         * po/sq.po:
639         * po/sr.po:
640         * po/sv.po:
641         * po/tr.po:
642         * po/uk.po:
643         * po/vi.po:
644         * win32/common/config.h:
645         * win32/common/config.h.in:
646         * win32/vs6/gst_inspect.dsp:
647         * win32/vs6/gst_launch.dsp:
648         * win32/vs6/libgstbase.dsp:
649         * win32/vs6/libgstelements.dsp:
650         * win32/vs6/libgstreamer.dsp:
651         * win32/vs7/GStreamer.vcproj:
652         * win32/vs7/gst-inspect.vcproj:
653         * win32/vs7/gst-launch.vcproj:
654         * win32/vs7/libgstbase.vcproj:
655           bump GST_MAJORMINOR to 0.10
656           reset libtool version
657
658 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
659
660         * po/LINGUAS:
661         * po/bg.po:
662           Added Bulgarian translation by (Alexander Shopov)
663
664 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
665
666         * tests/check/gst/gstplugin.c:
667           fix test
668
669 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
670
671         * common/gst-xmlinspect.py:
672         * common/gtk-doc-plugins.mak:
673         * configure.ac:
674         * docs/Makefile.am:
675         * docs/gst/Makefile.am:
676         * docs/gst/gstreamer-docs.sgml:
677         * docs/gst/gstreamer-sections.txt:
678         * docs/gst/gstreamer.types:
679         * docs/gst/gstreamer.types.in:
680         * docs/plugins/Makefile.am:
681         * docs/plugins/gstreamer-plugins-docs.sgml:
682         * docs/plugins/gstreamer-plugins-sections.txt:
683         * docs/plugins/gstreamer-plugins.types:
684         * docs/plugins/inspect.stamp:
685         * docs/plugins/inspect/plugin-coreelements.xml:
686         * docs/plugins/inspect/plugin-coreindexers.xml:
687         * docs/plugins/scanobj-build.stamp:
688         * gstreamer.spec.in:
689         * plugins/elements/Makefile.am:
690         * plugins/elements/gstelements.c:
691         * plugins/elements/gstfakesink.c:
692         * plugins/elements/gstfakesrc.c:
693         * plugins/elements/gstfilesink.c:
694         * plugins/elements/gstfilesrc.c:
695         * plugins/elements/gstqueue.c:
696         * plugins/indexers/Makefile.am:
697         * plugins/indexers/gstindexers.c:
698           document core plugins in a separate document just like all the
699           others
700           rename these plugins to something starting with core
701
702 2005-12-01  Andy Wingo  <wingo@pobox.com>
703
704         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
705         padding here before, but it missed the commit.
706
707 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
708
709         * libs/gst/controller/gstinterpolation.c:
710           whitespace prices have crashed, we should feel free to use some now
711           use gst_guint64_to_gdouble
712
713 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
714
715         * libs/gst/controller/gstcontroller.c:
716         * libs/gst/controller/gsthelper.c:
717         * libs/gst/controller/gstinterpolation.c:
718         * libs/gst/controller/lib.c:
719           wrap config.h include
720
721 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
722
723         * docs/gst/gstreamer-sections.txt:
724           update docs
725
726 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
727
728         * plugins/elements/gstelements.c:
729         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
730         (gst_fd_sink__class_init), (gst_fd_sink__init),
731         (gst_fd_sink__chain), (gst_fd_sink__set_property),
732         (gst_fd_sink__get_property):
733         * plugins/elements/gstfdsink.h:
734         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
735         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
736         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
737         (gst_fd_src_unlock), (gst_fd_src_set_property),
738         (gst_fd_src_get_property), (gst_fd_src_create),
739         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
740         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
741         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
742         (gst_fd_src_uri_handler_init):
743         * plugins/elements/gstfdsrc.h:
744         * plugins/elements/gstqueue.c: (gst_queue_get_type):
745           more anal cleanup
746
747 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
748
749         * docs/gst/Makefile.am:
750         * docs/gst/gstreamer.types.in:
751         * gst/Makefile.am:
752           fix the docs build
753
754 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
755
756         * configure.ac:
757         * gst/Makefile.am:
758         * gst/gst.c:
759         * gst/gstplugin.h:
760         * gst/gstregistry.h:
761         * tests/benchmarks/complexity.c:
762         * tests/benchmarks/mass-elements.c:
763         * tests/check/Makefile.am:
764         * tools/Makefile.am:
765         * tools/gst-inspect.c:
766         * tools/gst-xmlinspect.c:
767           various fixes to make
768           --disable-nls --disable-registry --disable-loadsave
769           --disable-parse --disable-gst-debug
770           work and get the core .so down to 360444 bytes after stripping
771
772 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
773
774         * Makefile.am:
775         * configure.ac:
776           descend into tests
777         * docs/random/thomasvs/TODO:
778         * tests/Makefile.am:
779         * tests/README:
780           add a README
781
782 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
783
784         * win32/GStreamer.vcproj:
785         * win32/MANIFEST:
786         * win32/Makefile:
787         * win32/Makefile.inspect:
788         * win32/Makefile.launch:
789         * win32/Makefile.register:
790         * win32/README.txt:
791         * win32/gst-inspect.vcproj:
792         * win32/gst-launch.vcproj:
793         * win32/gst-register.vcproj:
794         * win32/gstelements.vcproj:
795         * win32/gstgetbits.def:
796         * win32/gstgetbits.vcproj:
797         * win32/gstreamer-dbg.def:
798         * win32/gstreamer.def:
799         * win32/libgstbase.def:
800         * win32/libgstbase.vcproj:
801         * win32/link_oldruntime.c:
802         * win32/mman.c:
803         * win32/mman.h:
804         * win32/mman.inl:
805         * win32/msvc71.sln:
806           move even more stuff, win32/ is nice and clean now
807
808 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
809
810         * libs/gst/control/.cvsignore:
811         * win32/MANIFEST:
812         * win32/config.h:
813         * win32/dirent.c:
814         * win32/dirent.h:
815         * win32/gstbytestream.def:
816         * win32/gstbytestream.vcproj:
817         * win32/gstconfig.h:
818         * win32/gstenumtypes.c:
819         * win32/gstenumtypes.h:
820         * win32/gstoptimalscheduler.vcproj:
821         * win32/gstversion.h:
822         * win32/gtchar.h:
823         * win32/testsuite/bins.vcproj:
824         * win32/testsuite/bytestream.vcproj:
825         * win32/testsuite/caps.vcproj:
826         * win32/testsuite/cleanup.vcproj:
827         * win32/testsuite/clock.vcproj:
828         * win32/testsuite/debug.vcproj:
829         * win32/testsuite/dlopen.vcproj:
830         * win32/testsuite/dynparams.vcproj:
831         * win32/testsuite/elements.vcproj:
832         * win32/testsuite/ghostpads.vcproj:
833         * win32/testsuite/indexers.vcproj:
834         * win32/testsuite/negotiation.vcproj:
835         * win32/testsuite/parse.vcproj:
836         * win32/testsuite/plugin.vcproj:
837         * win32/testsuite/refcounting.vcproj:
838         * win32/testsuite/schedulers.vcproj:
839         * win32/testsuite/states.vcproj:
840         * win32/testsuite/tags.vcproj:
841         * win32/testsuite/threads.vcproj:
842           remove old win32 stuff that isn't maintained and should be
843           reorganized
844
845 2005-11-30  Andy Wingo  <wingo@pobox.com>
846
847         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
848         loading the gst.interfaces python module bork.
849
850         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
851         available since GLib 2.2. Fixes #318031.
852
853 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * Makefile.am:
856         * check/.cvsignore:
857         * check/Makefile.am:
858         * check/elements/.cvsignore:
859         * check/elements/fakesrc.c:
860         * check/elements/fdsrc.c:
861         * check/elements/identity.c:
862         * check/generic/.cvsignore:
863         * check/generic/states.c:
864         * check/gst-libs/.cvsignore:
865         * check/gst-libs/controller.c:
866         * check/gst-libs/gdp.c:
867         * check/gst/.cvsignore:
868         * check/gst/capslist.h:
869         * check/gst/gst.c:
870         * check/gst/gstbin.c:
871         * check/gst/gstbuffer.c:
872         * check/gst/gstbus.c:
873         * check/gst/gstcaps.c:
874         * check/gst/gstelement.c:
875         * check/gst/gstevent.c:
876         * check/gst/gstghostpad.c:
877         * check/gst/gstiterator.c:
878         * check/gst/gstmessage.c:
879         * check/gst/gstminiobject.c:
880         * check/gst/gstobject.c:
881         * check/gst/gstpad.c:
882         * check/gst/gstpipeline.c:
883         * check/gst/gstplugin.c:
884         * check/gst/gstsegment.c:
885         * check/gst/gststructure.c:
886         * check/gst/gstsystemclock.c:
887         * check/gst/gsttag.c:
888         * check/gst/gstutils.c:
889         * check/gst/gstvalue.c:
890         * check/net/.cvsignore:
891         * check/net/gstnetclientclock.c:
892         * check/net/gstnettimeprovider.c:
893         * check/pipelines/.cvsignore:
894         * check/pipelines/cleanup.c:
895         * check/pipelines/simple_launch_lines.c:
896         * check/pipelines/stress.c:
897         * check/states/.cvsignore:
898         * check/states/sinks.c:
899         * configure.ac:
900         * examples/Makefile.am:
901         * examples/appreader/.cvsignore:
902         * examples/appreader/Makefile.am:
903         * examples/appreader/appreader.c:
904         * examples/controller/.cvsignore:
905         * examples/controller/Makefile.am:
906         * examples/controller/audio-example.c:
907         * examples/cutter/.cvsignore:
908         * examples/cutter/Makefile.am:
909         * examples/cutter/cutter.c:
910         * examples/cutter/cutter.h:
911         * examples/events/Makefile.am:
912         * examples/events/seek.c:
913         * examples/helloworld/.cvsignore:
914         * examples/helloworld/Makefile.am:
915         * examples/helloworld/helloworld.c:
916         * examples/helloworld2/.cvsignore:
917         * examples/helloworld2/Makefile.am:
918         * examples/helloworld2/helloworld2.c:
919         * examples/launch/.cvsignore:
920         * examples/launch/Makefile.am:
921         * examples/launch/mp3parselaunch.c:
922         * examples/launch/mp3play:
923         * examples/manual/.cvsignore:
924         * examples/manual/Makefile.am:
925         * examples/manual/extract.pl:
926         * examples/metadata/Makefile.am:
927         * examples/metadata/read-metadata.c:
928         * examples/mixer/.cvsignore:
929         * examples/mixer/Makefile.am:
930         * examples/mixer/mixer.c:
931         * examples/mixer/mixer.h:
932         * examples/pingpong/.cvsignore:
933         * examples/pingpong/Makefile.am:
934         * examples/pingpong/pingpong.c:
935         * examples/plugins/.cvsignore:
936         * examples/plugins/Makefile.am:
937         * examples/plugins/example.c:
938         * examples/plugins/example.h:
939         * examples/pwg/.cvsignore:
940         * examples/pwg/Makefile.am:
941         * examples/pwg/extract.pl:
942         * examples/queue/.cvsignore:
943         * examples/queue/Makefile.am:
944         * examples/queue/queue.c:
945         * examples/queue2/.cvsignore:
946         * examples/queue2/Makefile.am:
947         * examples/queue2/queue2.c:
948         * examples/queue3/.cvsignore:
949         * examples/queue3/Makefile.am:
950         * examples/queue3/queue3.c:
951         * examples/queue4/.cvsignore:
952         * examples/queue4/Makefile.am:
953         * examples/queue4/queue4.c:
954         * examples/retag/.cvsignore:
955         * examples/retag/Makefile.am:
956         * examples/retag/retag.c:
957         * examples/retag/transcode.c:
958         * examples/thread/.cvsignore:
959         * examples/thread/Makefile.am:
960         * examples/thread/thread.c:
961         * examples/typefind/.cvsignore:
962         * examples/typefind/Makefile.am:
963         * examples/typefind/typefind.c:
964         * examples/xml/.cvsignore:
965         * examples/xml/Makefile.am:
966         * examples/xml/createxml.c:
967         * examples/xml/runxml.c:
968         * tests/Makefile.am:
969         * tests/check/Makefile.am:
970         * testsuite/.cvsignore:
971         * testsuite/Makefile.am:
972         * testsuite/Rules:
973         * testsuite/caps/.cvsignore:
974         * testsuite/caps/Makefile.am:
975         * testsuite/caps/app_fixate.c:
976         * testsuite/caps/audioscale.c:
977         * testsuite/caps/caps.c:
978         * testsuite/caps/caps.h:
979         * testsuite/caps/caps_strings:
980         * testsuite/caps/compatibility.c:
981         * testsuite/caps/deserialize.c:
982         * testsuite/caps/enumcaps.c:
983         * testsuite/caps/eratosthenes.c:
984         * testsuite/caps/filtercaps.c:
985         * testsuite/caps/fixed.c:
986         * testsuite/caps/fraction-convert.c:
987         * testsuite/caps/fraction-multiply-and-zero.c:
988         * testsuite/caps/intersect2.c:
989         * testsuite/caps/intersection.c:
990         * testsuite/caps/normalisation.c:
991         * testsuite/caps/random.c:
992         * testsuite/caps/renegotiate.c:
993         * testsuite/caps/sets.c:
994         * testsuite/caps/simplify.c:
995         * testsuite/caps/string-conversions.c:
996         * testsuite/caps/structure.c:
997         * testsuite/caps/subtract.c:
998         * testsuite/caps/union.c:
999         * testsuite/debug/.cvsignore:
1000         * testsuite/debug/Makefile.am:
1001         * testsuite/debug/category.c:
1002         * testsuite/debug/commandline.c:
1003         * testsuite/debug/global.c:
1004         * testsuite/debug/output.c:
1005         * testsuite/debug/printf_extension.c:
1006         * testsuite/dlopen/.cvsignore:
1007         * testsuite/dlopen/Makefile.am:
1008         * testsuite/dlopen/dlopen_gst.c:
1009         * testsuite/dlopen/loadgst.c:
1010         * testsuite/elements/.cvsignore:
1011         * testsuite/elements/Makefile.am:
1012         * testsuite/elements/gst-inspect-check.in:
1013         * testsuite/elements/struct_i386.h:
1014         * testsuite/elements/struct_size.c:
1015         * testsuite/indexers/.cvsignore:
1016         * testsuite/indexers/Makefile.am:
1017         * testsuite/indexers/cache1.c:
1018         * testsuite/indexers/indexdump.c:
1019         * testsuite/parse/.cvsignore:
1020         * testsuite/parse/Makefile.am:
1021         * testsuite/parse/parse1.c:
1022         * testsuite/parse/parse2.c:
1023         * testsuite/plugin/.cvsignore:
1024         * testsuite/plugin/Makefile.am:
1025         * testsuite/plugin/README:
1026         * testsuite/plugin/dynamic.c:
1027         * testsuite/plugin/linked.c:
1028         * testsuite/plugin/loading.c:
1029         * testsuite/plugin/registry.c:
1030         * testsuite/plugin/static.c:
1031         * testsuite/plugin/static2.c:
1032         * testsuite/plugin/testplugin.c:
1033         * testsuite/plugin/testplugin2.c:
1034         * testsuite/plugin/testplugin2_s.c:
1035         * testsuite/plugin/testplugin_s.c:
1036         * testsuite/refcounting/.cvsignore:
1037         * testsuite/refcounting/Makefile.am:
1038         * testsuite/refcounting/bin.c:
1039         * testsuite/refcounting/element.c:
1040         * testsuite/refcounting/element_pad.c:
1041         * testsuite/refcounting/mainloop.c:
1042         * testsuite/refcounting/mem.c:
1043         * testsuite/refcounting/mem.h:
1044         * testsuite/refcounting/object.c:
1045         * testsuite/refcounting/pad.c:
1046         * testsuite/refcounting/sched.c:
1047         * testsuite/refcounting/thread.c:
1048         * testsuite/states/.cvsignore:
1049         * testsuite/states/Makefile.am:
1050         * testsuite/states/bin.c:
1051         * testsuite/states/locked.c:
1052         * testsuite/states/parent.c:
1053         * testsuite/threads/.cvsignore:
1054         * testsuite/threads/159566.c:
1055         * testsuite/threads/159852.c:
1056         * testsuite/threads/Makefile.am:
1057         * testsuite/threads/queue.c:
1058         * testsuite/threads/signals.c:
1059         * testsuite/threads/staticrec.c:
1060         * testsuite/threads/thread.c:
1061         * testsuite/threads/threadb.c:
1062         * testsuite/threads/threadc.c:
1063         * testsuite/threads/threadd.c:
1064         * testsuite/threads/threade.c:
1065         * testsuite/threads/threadf.c:
1066         * testsuite/threads/threadg.c:
1067         * testsuite/threads/threadh.c:
1068         * testsuite/threads/threadi.c:
1069           move all of these under tests
1070
1071 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * configure.ac:
1074         * tests/Makefile.am:
1075           fix distcheck
1076
1077 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1078
1079         * docs/gst/gstreamer-sections.txt:
1080         * tests/sched/.cvsignore:
1081         * tests/sched/Makefile.am:
1082         * tests/sched/cases/(fs-fs).xml:
1083         * tests/sched/cases/(fs-i-fs).xml:
1084         * tests/sched/cases/(fs-i-i-fs).xml:
1085         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1086         * tests/sched/dynamic-pipeline.c:
1087         * tests/sched/interrupt1.c:
1088         * tests/sched/interrupt2.c:
1089         * tests/sched/interrupt3.c:
1090         * tests/sched/runtestcases:
1091         * tests/sched/runxml.c:
1092         * tests/sched/sched-stress.c:
1093         * tests/sched/sort.c:
1094         * tests/sched/testcases:
1095         * tests/sched/testcases1.tc:
1096         * tests/seeking/.cvsignore:
1097         * tests/seeking/Makefile.am:
1098         * tests/seeking/seeking1.c:
1099         * tests/threadstate/.cvsignore:
1100         * tests/threadstate/Makefile.am:
1101         * tests/threadstate/test1.c:
1102         * tests/threadstate/test2.c:
1103         * tests/threadstate/threadstate1.c:
1104         * tests/threadstate/threadstate2.c:
1105         * tests/threadstate/threadstate3.c:
1106         * tests/threadstate/threadstate4.c:
1107         * tests/threadstate/threadstate5.c:
1108           remove obsolete tests
1109         * configure.ac:
1110         * tests/bench-complexity.scm:
1111         * tests/bench-mass_elements.scm:
1112         * tests/complexity.c:
1113         * tests/complexity.gnuplot:
1114         * tests/instantiate/.cvsignore:
1115         * tests/instantiate/Makefile.am:
1116         * tests/instantiate/caps.c:
1117         * tests/mass_elements.c:
1118         * tests/network-clock-utils.scm:
1119         * tests/network-clock.scm:
1120         * tests/plot-data:
1121         First pass at cleaning up tests/ dir before moving the rest
1122         Combined with CVS surgery
1123
1124 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1125
1126         * po/POTFILES.in:
1127           queue has moved, update
1128
1129 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1130
1131         * docs/gst/gstreamer-sections.txt:
1132           remove double entries from the docs
1133         * gst/gst_private.h:
1134         * gst/gstinfo.c: (_gst_debug_init):
1135           remove the THREAD debug category
1136         * gst/Makefile.am:
1137         * gst/gstqueue.c:
1138         * gst/gstqueue.h:
1139         * docs/gst/gstreamer.types:
1140         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1141         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1142           completely move queue and fix up debugging categories
1143
1144 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1145
1146         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1147           make initialization portable, using LL is not
1148
1149 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1150
1151         * win32/common/gstconfig.h:
1152           add large padding
1153
1154 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1155
1156         * win32/common/libgstreamer.def:
1157           rename symbols; sort base section
1158
1159 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1160
1161         * gst/gstclock.c: (do_linear_regression):
1162           remove crack non-portable handrolled DEBUG macro
1163
1164 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1165
1166         * docs/random/release:
1167           update notes
1168         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1169         (gst_object_flags_get_type), (register_gst_bin_flags),
1170         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1171         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1172         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1173         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1174         (gst_caps_flags_get_type), (register_gst_clock_return),
1175         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1176         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1177         (gst_clock_flags_get_type), (register_gst_state),
1178         (gst_state_get_type), (register_gst_state_change_return),
1179         (gst_state_change_return_get_type), (register_gst_state_change),
1180         (gst_state_change_get_type), (register_gst_element_flags),
1181         (gst_element_flags_get_type), (register_gst_core_error),
1182         (gst_core_error_get_type), (register_gst_library_error),
1183         (gst_library_error_get_type), (register_gst_resource_error),
1184         (gst_resource_error_get_type), (register_gst_stream_error),
1185         (gst_stream_error_get_type), (register_gst_event_type_flags),
1186         (gst_event_type_flags_get_type), (register_gst_event_type),
1187         (gst_event_type_get_type), (register_gst_seek_type),
1188         (gst_seek_type_get_type), (register_gst_seek_flags),
1189         (gst_seek_flags_get_type), (register_gst_format),
1190         (gst_format_get_type), (register_gst_index_certainty),
1191         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1192         (gst_index_entry_type_get_type),
1193         (register_gst_index_lookup_method),
1194         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1195         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1196         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1197         (gst_index_flags_get_type), (register_gst_debug_level),
1198         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1199         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1200         (gst_iterator_result_get_type), (register_gst_iterator_item),
1201         (gst_iterator_item_get_type), (register_gst_message_type),
1202         (gst_message_type_get_type), (register_gst_mini_object_flags),
1203         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1204         (gst_pad_link_return_get_type), (register_gst_flow_return),
1205         (gst_flow_return_get_type), (register_gst_activate_mode),
1206         (gst_activate_mode_get_type), (register_gst_pad_direction),
1207         (gst_pad_direction_get_type), (register_gst_pad_flags),
1208         (gst_pad_flags_get_type), (register_gst_pad_presence),
1209         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1210         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1211         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1212         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1213         (gst_plugin_flags_get_type), (register_gst_rank),
1214         (gst_rank_get_type), (register_gst_query_type),
1215         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1216         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1217         (gst_tag_flag_get_type), (register_gst_task_state),
1218         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1219         (gst_alloc_trace_flags_get_type),
1220         (register_gst_type_find_probability),
1221         (gst_type_find_probability_get_type), (register_gst_uri_type),
1222         (gst_uri_type_get_type), (register_gst_parse_error),
1223         (gst_parse_error_get_type):
1224         * win32/common/gstenumtypes.h:
1225         * win32/common/gstversion.h:
1226           update visual studio generated files
1227
1228 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1229
1230         * win32/vs6/libgstbase.dsp:
1231         * win32/vs6/libgstelements.dsp:
1232           update project files for new locations
1233
1234 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1235
1236         * Makefile.am:
1237           remove some files
1238         * README:
1239           reinstate and update
1240         * DEVEL:
1241         * REQUIREMENTS:
1242           removed
1243         * LICENSE:
1244         * docs/random/LICENSE:
1245           moved to random
1246
1247 2005-11-30  Edward Hervey  <edward@fluendo.com>
1248
1249         * gst/gsttypefind.c: (gst_type_find_register):
1250         * gst/gsttypefind.h:
1251         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1252         (gst_type_find_factory_dispose):
1253         * gst/gsttypefindfactory.h:
1254         Fix memory leak in GstTypeFindFactory.
1255
1256 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1257
1258         * gst/gst.c:
1259         * plugins/elements/Makefile.am:
1260         * plugins/elements/gstelements.c:
1261         * plugins/elements/gstqueue.c:
1262           move queue from core to the elements plugin
1263
1264 2005-11-29  Andy Wingo  <wingo@pobox.com>
1265
1266         * libs/gst/base/gstbasetransform.h: 
1267         * libs/gst/base/gstbasesrc.h: 
1268         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1269
1270         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1271         of pointers by which to pad very extensible base classes (like the
1272         ones in libs/gst/base).
1273
1274 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1275
1276         * docs/gst/gstreamer-docs.sgml:
1277         * docs/gst/gstreamer-sections.txt:
1278         * docs/libs/gstreamer-libs-docs.sgml:
1279         * docs/libs/gstreamer-libs-sections.txt:
1280           moving documentation from core to lib
1281
1282 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1283
1284         * check/Makefile.am:
1285         * configure.ac:
1286         * docs/gst/Makefile.am:
1287         * gst/Makefile.am:
1288         * gst/base/.cvsignore:
1289         * gst/base/Makefile.am:
1290         * gst/base/README:
1291         * gst/base/gstadapter.c:
1292         * gst/base/gstadapter.h:
1293         * gst/base/gstbasesink.c:
1294         * gst/base/gstbasesink.h:
1295         * gst/base/gstbasesrc.c:
1296         * gst/base/gstbasesrc.h:
1297         * gst/base/gstbasetransform.c:
1298         * gst/base/gstbasetransform.h:
1299         * gst/base/gstcollectpads.c:
1300         * gst/base/gstcollectpads.h:
1301         * gst/base/gstpushsrc.c:
1302         * gst/base/gstpushsrc.h:
1303         * gst/base/gsttypefindhelper.c:
1304         * gst/base/gsttypefindhelper.h:
1305         * gst/check/Makefile.am:
1306         * gst/check/gstcheck.c:
1307         * gst/check/gstcheck.h:
1308         * gst/net/Makefile.am:
1309         * gst/net/gstnet.h:
1310         * gst/net/gstnetclientclock.c:
1311         * gst/net/gstnetclientclock.h:
1312         * gst/net/gstnettimepacket.c:
1313         * gst/net/gstnettimepacket.h:
1314         * gst/net/gstnettimeprovider.c:
1315         * gst/net/gstnettimeprovider.h:
1316         * libs/gst/Makefile.am:
1317         * libs/gst/base/Makefile.am:
1318         * libs/gst/base/gstbasetransform.c:
1319         * libs/gst/check/Makefile.am:
1320         * plugins/elements/Makefile.am:
1321         * po/POTFILES.in:
1322           CVS surgery + support to move base, check, and net out of gst
1323           and into libs/gst
1324
1325 2005-11-29  Andy Wingo  <wingo@pobox.com>
1326
1327         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1328
1329         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1330         padding.
1331
1332         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1333
1334         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1335
1336         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1337
1338         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1339         padding; reduces object size by about 30%. We don't expect
1340         anything else to go into gstobject.
1341
1342         * gst/gstminiobject.h (struct _GstMiniObject)
1343         (struct _GstMiniObjectClass): Only one pointer of padding; the
1344         payload is only a pointer and two ints anyway. For the class there
1345         are only two methods as well.
1346         
1347         * gst/gstelement.h (struct _GstElementClass): Removed
1348         the state_changed signal callback, it is not used.
1349
1350 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1351
1352         * docs/gst/gstreamer.types:
1353           fix includes, though they are a little dinky
1354
1355 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1356
1357         * check/Makefile.am:
1358           look in the right place for elements, a lot more chance of
1359           success
1360         * gst/Makefile.am:
1361           remove indexers and elements subdirs
1362         * plugins/Makefile.am:
1363           make indexers conditional
1364
1365 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1366
1367         * Makefile.am:
1368         * configure.ac:
1369         * plugins/elements/Makefile.am:
1370         * plugins/elements/gstcapsfilter.c:
1371         * plugins/elements/gstfilesink.c:
1372         * plugins/elements/gstfilesrc.c:
1373         * plugins/elements/gstidentity.c:
1374         * plugins/indexers/Makefile.am:
1375           do CVS surgery and related build fixery to move elements
1376           and indexers in a new gstreamer/plugins directory, out of the
1377           gst/ directory
1378
1379 2005-11-29  Andy Wingo  <wingo@pobox.com>
1380
1381         * check/Makefile.am:
1382         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1383         * pkgconfig/gstreamer-net.pc.in:
1384         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1385         #322257.
1386
1387 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1388
1389         * tools/Makefile.am:
1390         * tools/gst-complete.1.in:
1391         * tools/gst-complete.c:
1392         * tools/gst-compprep.1.in:
1393         * tools/gst-compprep.c:
1394           removing -compprep and -complete
1395
1396 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1397
1398         * gst/gstevent.c: (gst_event_new_new_segment),
1399         (gst_event_parse_new_segment):
1400         * gst/gstevent.h:
1401           fix #320529 - clean up new_segment API and structure.
1402           Let's hope everyone was using the methods, and not the structure.
1403
1404 2005-11-29  Edward Hervey  <edward@fluendo.com>
1405
1406         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1407         (gst_base_sink_event), (gst_base_sink_do_sync),
1408         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1409         Properly handle non GST_FORMAT_TIME segment
1410         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1411         Properly handle non GST_FORMAT_TIME segment
1412         * gst/gstsegment.c:
1413         This function is valid if the accumulator is 0 and the format
1414         is different from the requested format.
1415         
1416 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1417
1418         * docs/gst/gstreamer-sections.txt:
1419         Add gst_query_new_seeking and gst_query_parse_seeking to the
1420         docs.
1421
1422 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1423
1424         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1425           Treat a pad alloc with new caps the same as if we were not
1426           negotiated, in order to allow a changing upstream output
1427           to produce a new format of data.
1428
1429 2005-11-29  Edward Hervey  <edward@fluendo.com>
1430
1431         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1432         (gst_base_transform_event), (gst_base_transform_eventfunc):
1433         The event virtual method is now properly implemented, with a default
1434         handler
1435         Sub classes should call the parent_class event method. They should
1436         return FALSE if they had a problem handling the given event, or don't
1437         want GstBaseTransform to send that even downstream
1438         * gst/elements/gstidentity.c: (gst_identity_class_init),
1439         (gst_identity_init), (gst_identity_event),
1440         (gst_identity_transform_ip), (gst_identity_set_property),
1441         (gst_identity_get_property):
1442         * gst/elements/gstidentity.h:
1443         Added the single-segment boolean property.
1444         If set to TRUE, it will output a single segment of data, starting from
1445         0, will eat up all incoming newsegment, and modify the timestamp of the
1446         buffers accordingly
1447
1448 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1449
1450         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1451           Don't ref NULL target pad (#322751). Improve docs.
1452
1453 2005-11-29  Michael Smith  <msmith@fluendo.com>
1454
1455         * gst/gstregistryxml.c: (load_plugin):
1456           Don't crash if we failed to load a feature from a plugin. 
1457
1458 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1459
1460         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1461         (GST_START_TEST):
1462           use more check API and less GLib API
1463
1464 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1465
1466         * Makefile.am:
1467           don't run checks if we don't have check
1468         * common/check.mak:
1469           remove the registry when running make torture
1470         * docs/gst/gstreamer-sections.txt:
1471           remove second multiply
1472         * gst/gstqueue.c: (gst_queue_loop):
1473           fix a compile warning when disabling debug
1474
1475 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1476
1477         * gst/gstinfo.h:
1478         Hey! Let's print the pad name if the pointer != NULL instead
1479         of when it == NULL :-)
1480
1481 2005-11-28  Wim Taymans  <wim@fluendo.com>
1482
1483         * check/gst/gstutils.c: (GST_START_TEST):
1484         Updated check, add some scaling accuracy checking code.
1485
1486         * gst/gstutils.c: (gst_util_div128_64),
1487         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1488         (gst_util_uint64_scale_int):
1489         Fix 6 times faster division code. Optimize for common 
1490         1/1 and less common X/1 cases.
1491
1492 2005-11-28  Wim Taymans  <wim@fluendo.com>
1493
1494         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1495         More checks.
1496
1497         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1498         (do_linear_regression), (gst_clock_add_observation):
1499         Cleanups.
1500         Release lock when the clock cannot be slaved.
1501         Catch the case where the regression returned an invalid denominator.
1502
1503         * gst/gstutils.c: (gst_util_div128_64_iterate),
1504         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1505         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1506         Add protentially more performant non-iterative 128/64 divide function
1507         that unfortunatly does not work yet.
1508         Shortcut the trivial 0/X = 0 case.
1509         Remove the warnings on overflow.
1510
1511 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1512
1513         * gst/gstplugin.c: (gst_plugin_register_func):
1514           everything causing a plugin not to load should be at least a WARNING
1515
1516 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1517
1518         * docs/random/ensonic/dparams.txt:
1519           some TODOs for the next dev cycle
1520         * libs/gst/controller/gstcontroller.c:
1521         (gst_controlled_property_set_interpolation_mode),
1522         (gst_controlled_property_new):
1523         * libs/gst/controller/gstcontroller.h:
1524           use base type to assign acccessor functions
1525
1526 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1527
1528         * check/Makefile.am:
1529         Oops, that should have been top_srcdir
1530
1531 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1532
1533         * check/Makefile.am:
1534         * check/elements/fdsrc.c: (GST_START_TEST):
1535         Use a cmdline define to specify the location of a file to use for
1536         testing, to avoid breaking distcheck.
1537
1538 2005-11-28  Andy Wingo  <wingo@pobox.com>
1539
1540         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1541
1542 2005-11-28  Edward Hervey  <edward@fluendo.com>
1543
1544         * tools/gst-launch.c: (main):
1545         Clarify the output strings, makes it easier to translate.
1546         Fixes #322626
1547
1548 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1549
1550         * gst/Makefile.am:
1551           don't try and build net if we don't even have <sys/socket.h>
1552
1553 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1554
1555         * check/Makefile.am:
1556         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1557         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1558           Add tests for fdsrc seekability
1559
1560         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1561         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1562         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1563         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1564         * gst/elements/gstfdsrc.h:
1565           fdsrc should not be a 'live' source.
1566           Implement seeking on seekable fd's.
1567
1568         * gst/gstquery.c: (gst_query_new_seeking),
1569         (gst_query_parse_seeking):
1570         * gst/gstquery.h:
1571           Implement SEEKING query functions: 
1572             *_new_seeking and *_parse_seeking
1573
1574 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1575
1576         * gst/gstelement.c: (gst_element_dispose):
1577           don't loop forever
1578
1579         * gst/gstiterator.c:
1580         * gst/gststructure.c:
1581           doc fixes
1582
1583         * libs/gst/controller/gstcontroller.c:
1584         (gst_controlled_property_set_interpolation_mode):
1585         * libs/gst/controller/gstcontroller.h:
1586         * libs/gst/controller/gstinterpolation.c:
1587         (interpolate_none_get_enum_value_array):
1588           support controlling enums
1589
1590 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1591
1592         * gst/gstvalue.c:
1593           Improve documentation for gst_value_union().
1594
1595         * gst/gstvalue.h:
1596           Change return value for union, intersect and subtract functions
1597           from gint to gboolean.
1598
1599 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1600
1601         * gst/gstvalue.c: (gst_value_serialize_any_list),
1602         (gst_value_transform_any_list_string),
1603         (gst_value_deserialize_list), (gst_value_deserialize_array),
1604         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1605         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1606         (gst_value_set_fraction_range_full),
1607         (gst_value_deserialize_fraction_range),
1608         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1609         (gst_value_deserialize_boolean),
1610         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1611         (gst_value_serialize_float), (gst_value_deserialize_float),
1612         (gst_string_wrap), (gst_value_deserialize_string),
1613         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1614         (gst_value_union_int_range_int_range),
1615         (gst_value_intersect_int_range_int_range),
1616         (gst_value_intersect_double_range_double_range),
1617         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1618         (gst_value_subtract_int_range_int_range),
1619         (gst_value_subtract_double_double_range),
1620         (gst_value_subtract_double_range_double_range),
1621         (gst_value_deserialize_fraction):
1622         * gst/gstvalue.h:
1623           Use gint, gdouble and gchar in our API instead of int, double and
1624           char (and make usage in gstvalue.c more consistent).
1625
1626 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1627
1628         * check/Makefile.am:
1629         * libs/gst/controller/Makefile.am:
1630         * libs/gst/dataprotocol/Makefile.am:
1631           fix up Makefile.am and remove GST_ENABLE_NEW
1632
1633 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1634
1635         * configure.ac:
1636         * gst/Makefile.am:
1637         * gst/base/Makefile.am:
1638         * gst/check/Makefile.am:
1639         * gst/elements/Makefile.am:
1640         * gst/net/Makefile.am:
1641           update LDFLAGS use some more
1642
1643 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1644
1645         * common/m4/gst-doc.m4:
1646           Fixes #312589
1647
1648 2005-11-26  Edward Hervey  <edward@fluendo.com>
1649
1650         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1651         This shouldn't issue a g_warning since it returns NULL if it
1652         couldn't find the plugin, and all functions using this behave
1653         properly on a NULL return. Switching to a GST_WARNING.
1654
1655 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1656
1657         * gst/gstbin.c: (gst_bin_handle_message_func):
1658         Don't leak clock messages.
1659
1660 2005-11-25  Wim Taymans  <wim@fluendo.com>
1661
1662         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1663         (gst_util_uint64_scale_int):
1664         Optimisations, remove unneeded vars.
1665
1666 2005-11-25  Wim Taymans  <wim@fluendo.com>
1667
1668         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1669         Added more checks for the high precision uint64 cases.
1670
1671         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1672         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1673         Implement high precision (guint64 * guint64) / guint64.
1674
1675 2005-11-24  Wim Taymans  <wim@fluendo.com>
1676
1677         * gst/base/gstbasesrc.c: (gst_base_src_query):
1678         Fix wrong percentage query.
1679
1680         * gst/gstutils.c: (gst_util_uint64_scale),
1681         (gst_util_uint64_scale_int):
1682         Add some more common cases that can be handled 
1683         efficiently to _scale.
1684
1685 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1686
1687         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1688         (gst_mini_object_suite):
1689           don't use check calls from threads; check probably isn't
1690           threadsafe and using a lock to make it threadsafe would
1691           defeat the purpose of this check
1692         * gst/check/gstcheck.c:
1693         * gst/check/gstcheck.h:
1694           use GST_DEBUG some more
1695
1696 2005-11-24  Wim Taymans  <wim@fluendo.com>
1697
1698         * gst/gstutils.c: (gst_util_uint64_scale),
1699         (gst_util_uint64_scale_int):
1700         Chain trivial case to _scale_int.
1701
1702 2005-11-24  Wim Taymans  <wim@fluendo.com>
1703
1704         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1705         Added test for scaling.
1706
1707         * gst/gstclock.h:
1708         Small doc fix.
1709
1710         * gst/gstutils.c: (gst_util_uint64_scale_int):
1711         Implemented high precision scaling code.
1712
1713 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1714
1715         * gst/gstinfo.h:
1716           do not crash on pad==NULL
1717
1718 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1719
1720         Patch by: Stefan Kost
1721
1722         * common/gtk-doc.mak:
1723         * docs/gst/Makefile.am:
1724         * docs/libs/Makefile.am:
1725           Fix distcheck issues for the libraries docs build
1726           Closes #319599.
1727
1728 2005-11-24  Michael Smith <msmith@fluendo.com>
1729
1730         * docs/manual/basics-helloworld.xml:
1731           Fix bug #315027: memory leak in example code in docs.
1732
1733 2005-11-24  Michael Smith <msmith@fluendo.com>
1734
1735         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1736           Unlock the PREROLL_LOCK in a failure case.
1737
1738 2005-11-24  Wim Taymans  <wim@fluendo.com>
1739
1740         * docs/gst/gstreamer-sections.txt:
1741         * gst/base/gstadapter.h:
1742         * gst/base/gstbasesink.h:
1743         * gst/base/gstbasesrc.h:
1744         * gst/base/gstbasetransform.h:
1745         * gst/base/gstpushsrc.h:
1746         * gst/elements/gstfakesink.h:
1747         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1748         * gst/elements/gstfakesrc.h:
1749         * gst/elements/gstfilesink.h:
1750         * gst/elements/gstfilesrc.h:
1751         * gst/gst.c:
1752         * gst/gstbin.c:
1753         * gst/gstbuffer.c: (_gst_buffer_copy):
1754         * gst/gstbus.h:
1755         * gst/gstcaps.c:
1756         * gst/gstchildproxy.c:
1757         * gst/gstclock.c:
1758         * gst/gstelement.c:
1759         * gst/gstelementfactory.c:
1760         * gst/gstelementfactory.h:
1761         * gst/gstevent.c:
1762         * gst/gstghostpad.h:
1763         * gst/gstindex.h:
1764         * gst/gstinterface.h:
1765         * gst/gstminiobject.c:
1766         * gst/gstminiobject.h:
1767         * gst/gstpad.c:
1768         * gst/gstpad.h:
1769         * gst/gstpadtemplate.h:
1770         * gst/gstpipeline.h:
1771         * gst/gstpluginfeature.h:
1772         * gst/gstquery.h:
1773         * gst/gstqueue.h:
1774         * gst/gsttaglist.c:
1775         * gst/gsttaglist.h:
1776         * gst/gsttagsetter.c:
1777         * gst/gsttagsetter.h:
1778         * gst/gsttrace.c:
1779         * gst/gsttrace.h:
1780         * gst/gsttypefind.h:
1781         * gst/gsturi.h:
1782         * gst/gstvalue.c:
1783         * gst/net/gstnetclientclock.c:
1784         * gst/net/gstnetclientclock.h:
1785         * gst/net/gstnettimepacket.c:
1786         * gst/net/gstnettimeprovider.c:
1787         * gst/net/gstnettimeprovider.h:
1788         Doc fixes.
1789
1790 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1791
1792         * configure.ac: back to HEAD
1793
1794 === release 0.9.6 ===
1795
1796 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1797
1798         * configure.ac:
1799           releasing 0.9.6, "Always On Time"
1800
1801 2005-11-23  Wim Taymans  <wim@fluendo.com>
1802
1803         * docs/gst/gstreamer-sections.txt:
1804         * gst/glib-compat.c:
1805         * gst/gsttagsetter.c:
1806         * gst/gstvalue.c:
1807         * gst/net/gstnetclientclock.c:
1808         * gst/net/gstnettimepacket.h:
1809         Doc updates.
1810
1811 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1812
1813         * docs/faq/using.xml:
1814         * docs/libs/tmpl/gstcontrol.sgml:
1815         * docs/manual/advanced-dparams.xml:
1816         * docs/manual/appendix-checklist.xml:
1817         * docs/manual/basics-elements.xml:
1818         * docs/pwg/other-source.xml:
1819         * docs/random/moving-plugins:
1820         * gst/gstpad.c:
1821         * tools/gst-launch.1.in:
1822           remove mentions of sinesrc
1823
1824 2005-11-23  Michael Smith <msmith@fluendo.com>
1825
1826         * docs/gst/gstreamer-sections.txt:
1827           Update for new API and API changes.
1828         * gst/gstobject.h:
1829           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1830         * gst/gstvalue.c:
1831           Documentation typo fix.
1832         * gst/net/gstnettimepacket.c:
1833           Documentation fixes for arguments.
1834
1835 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1836
1837         * gst/gststructure.c: (gst_structure_get_fraction),
1838         (gst_structure_parse_value),
1839         (gst_structure_fixate_field_nearest_fraction):
1840         * gst/gststructure.h:
1841         * gst/gstutils.c: (gst_util_uint64_scale_int):
1842         * gst/gstutils.h:
1843         * scripts/update-funcnames:
1844         API Changes. 
1845         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1846         Make gst_structure_fixate_field_nearest_fraction take a numerator
1847         and denominator argument instead of a GValue
1848         add gst_structure_get_fraction helper function.
1849
1850 2005-11-23  Wim Taymans  <wim@fluendo.com>
1851
1852         * docs/design/part-TODO.txt:
1853         Update TODO.
1854
1855         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1856         * gst/net/gstnetclientclock.h:
1857         Use parent fields for timeout and window_size.
1858
1859 2005-11-23  Andy Wingo  <wingo@pobox.com>
1860
1861         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1862         rate_num/rate_denom change.
1863
1864         * gst/net/gstnetclientclock.c
1865         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1866         OBJECT_LOCK. Don't call add_observation with the lock.
1867
1868         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1869         fraction.
1870         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1871         rate fraction.
1872         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1873         deal with rate as a fraction whose numerator and denominator are
1874         GstClockTime values.
1875         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1876         master; the other fields are protected by the SLAVE_LOCK.
1877         (do_linear_regression): Note that this must be called with the
1878         SLAVE_LOCK.
1879         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1880         OBJECT_LOCK. Call set_calibration instead of touching the
1881         variables directly.
1882         (gst_clock_set_property, gst_clock_get_property): Protect
1883         master/slave parameters with the SLAVE_LOCK.
1884
1885         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1886         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1887         note that all of the instance variables that add_observation and
1888         the set_master functions use are protected by that lock and not
1889         the OBJECT_LOCK.
1890         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1891
1892         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1893         the caller to take the object lock.
1894
1895 2005-11-23  Wim Taymans  <wim@fluendo.com>
1896
1897         * gst/gsterror.c: (_gst_core_errors_init):
1898         * gst/gsterror.h:
1899         Add error for clock stuff.
1900
1901         * gst/gstpipeline.c: (gst_pipeline_change_state),
1902         (gst_pipeline_set_clock):
1903         Post clock error when clock cannot be used in a pipeline.
1904
1905 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1906
1907         * docs/gst/gstreamer-sections.txt:
1908           make two symbols from gstinfo private for the docs
1909         * gst/base/gstcollectpads.h:
1910         * gst/gstutils.c:
1911           fix doc typos, update docs
1912
1913 2005-11-22  Wim Taymans  <wim@fluendo.com>
1914
1915         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1916         (gst_base_sink_wait), (gst_base_sink_do_sync),
1917         (gst_base_sink_handle_event):
1918         * gst/base/gstbasesink.h:
1919         No need to store the clock, the parent element class already
1920         has it.
1921
1922         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1923         Updates for clock_set returning a gboolean
1924
1925         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1926         (gst_clock_id_wait_async), (gst_clock_class_init),
1927         (gst_clock_init), (gst_clock_finalize),
1928         (gst_clock_get_internal_time), (gst_clock_get_time),
1929         (gst_clock_slave_callback), (gst_clock_set_master),
1930         (gst_clock_get_master), (do_linear_regression),
1931         (gst_clock_add_observation), (gst_clock_set_property),
1932         (gst_clock_get_property):
1933         * gst/gstclock.h:
1934         Implement master/slave. When setting a clock as a slave, a
1935         periodic timeout is scheduled to sample master and slave times.
1936         Then the slave clock is recalibrated to match offset and rate
1937         of the master clock.
1938         Update logging a bit.
1939         Add flag so that a clock can state that is cannot be slaved to
1940         another clock.
1941
1942         * gst/gstelement.c: (gst_element_set_clock):
1943         * gst/gstelement.h:
1944         The set clock returns a gboolean for when an element cannot
1945         deal with the selected clock in the pipeline. 
1946
1947         * gst/gstpipeline.c: (gst_pipeline_change_state),
1948         (gst_pipeline_set_clock):
1949         * gst/gstpipeline.h:
1950         Handle the case where the selected clock cannot be set on
1951         the pipeline.
1952
1953         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1954         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1955         (gst_net_client_clock_set_property),
1956         (gst_net_client_clock_get_property),
1957         (gst_net_client_clock_observe_times):
1958         * gst/net/gstnetclientclock.h:
1959         Use regression code in GstClock parent, remove duplicated
1960         functionality.
1961
1962 2005-11-22  Michael Smith <msmith@fluendo.com>
1963
1964         * gst/gstutils.c: (gst_util_clock_time_scale):
1965         * gst/gstutils.h:
1966         * docs/gst/gstreamer-sections.txt:
1967           Rename method to have extra underscore.
1968
1969 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1970
1971         * gst/elements/Makefile.am:
1972         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1973         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1974         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1975         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1976         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1977         * gst/elements/gstfakesrc.h:
1978         * gst/gstqueue.c: (queue_leaky_get_type):
1979           correctly fix GEnumValues so that nick is the short lowercase
1980           dashed tag
1981         * tools/gst-inspect.c: (print_element_properties_info):
1982           also show the nick, since it's useful to use from parse_launch
1983           syntax
1984           Fixes #322139
1985
1986 2005-11-22  Michael Smith <msmith@fluendo.com>
1987
1988         * gst/gstutils.c: (gst_util_clocktime_scale):
1989         * gst/gstutils.h:
1990         * docs/gst/gstreamer-sections.txt:
1991           Add util method for scaling a clocktime by a fraction. Useful 
1992           implementation is left as an exercise for the reader.
1993
1994 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1995
1996         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1997         If needed, allocate storage in the destination value during
1998         collection.
1999
2000 2005-11-22  Edward Hervey  <edward@fluendo.com>
2001
2002         * docs/gst/gstreamer-sections.txt:
2003         * gst/Makefile.am:
2004         * gst/gst.h:
2005         * gst/gsturitype.c:
2006         * gst/gsturitype.h:
2007         * gst/gstutils.c: (gst_util_set_object_arg):
2008         * tools/gst-compprep.c: (main):
2009         * tools/gst-inspect.c: (print_element_properties_info):
2010         Removed GstURI, closes bug #321061
2011
2012 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2013
2014         * check/gst/gststructure.c: (GST_START_TEST):
2015         * gst/gststructure.c: (gst_structure_parse_value):
2016           Oops, broke automatic string type parsing.
2017           Add a test to catch it in future.
2018
2019 2005-11-22  Andy Wingo  <wingo@pobox.com>
2020
2021         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2022         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2023         Actually rename the function implementations. Grr.
2024
2025 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2026
2027         * check/gst/capslist.h:
2028           Comment test cases
2029         * check/gst/gststructure.c: (GST_START_TEST),
2030         (gst_structure_suite):
2031           Test automatic value type detection in gst_structure_from_string.
2032         * gst/gststructure.c: (gst_structure_parse_value):
2033           Add fraction as a type we try and guess automatically in
2034           caps/structure strings.
2035
2036 2005-11-22  Andy Wingo  <wingo@pobox.com>
2037
2038         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2039
2040         * gst/gsttagsetter.h:
2041         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2042         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2043         (gst_tag_setter_add_tag_valist)
2044         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2045         _add_values, _add_valist, and _add_valist_values. Since this is an
2046         interface the function suffixes should be more explicit so
2047         language binding don't end up with element.add_valist ->
2048         gst_tag_setter_add_valist, for example. Fixes #322069.
2049
2050 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2051
2052         * check/gst/gstcaps.c: (GST_START_TEST):
2053           Extend caps string tests to check that a caps to string
2054           conversion is reversible and produces the same caps.
2055
2056         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2057           Output "fraction" as the generic type fraction range, so caps
2058           serialisation and deserialisation works.
2059         * check/gst/capslist.h:
2060         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2061           Support 'MIN' and 'MAX' for deserialising fractions.
2062
2063 2005-11-22  Andy Wingo  <wingo@pobox.com>
2064
2065         * gst/gstevent.h (gst_event_new_new_segment)
2066         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2067         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2068         Renamed from *_newsegment, *_buffersize, *_notarget.
2069
2070         * scripts/update-funcnames: New script, performs the changes
2071         listed above.
2072
2073 2005-11-22  Wim Taymans  <wim@fluendo.com>
2074
2075         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2076         Make sure the GstFlowReturn is returned.
2077
2078         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2079         (gst_bus_add_signal_watch):
2080         * gst/gstbus.h:
2081         add gst_bus_add_signal_watch_full.
2082
2083         * gst/gstplugin.c: (gst_plugin_load_file):
2084         Small style cleanup.
2085
2086 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2087
2088         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2089           Block the fakesrc srcpad when we send an event, to avoid
2090           contention on the stream_lock causing random test failures.
2091
2092 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2093
2094         * check/gst/gstvalue.c: (GST_START_TEST):
2095         * gst/gstvalue.c: (gst_value_fraction_subtract):
2096           Fix subtraction.
2097
2098 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2099
2100         * gst/gst.h:
2101           include "gstchildproxy.h"
2102         * gst/gstchildproxy.h:
2103         * libs/gst/controller/gstcontroller.h:
2104           use G_GNUC_NULL_TERMINATED
2105
2106 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2107
2108         * check/gst/capslist.h:
2109         * check/gst/gstcaps.c: (GST_START_TEST):
2110         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2111         * gst/gststructure.c: (gst_structure_parse_range),
2112         (gst_structure_fixate_field_nearest_fraction):
2113         * gst/gststructure.h:
2114         * gst/gstvalue.c: (gst_value_init_fraction_range),
2115         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2116         (gst_value_collect_fraction_range),
2117         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2118         (gst_value_set_fraction_range_full),
2119         (gst_value_get_fraction_range_min),
2120         (gst_value_get_fraction_range_max),
2121         (gst_value_serialize_fraction_range),
2122         (gst_value_transform_fraction_range_string),
2123         (gst_value_compare_fraction_range),
2124         (gst_value_deserialize_fraction_range),
2125         (gst_value_intersect_fraction_fraction_range),
2126         (gst_value_intersect_fraction_range_fraction_range),
2127         (gst_value_subtract_fraction_fraction_range),
2128         (gst_value_subtract_fraction_range_fraction),
2129         (gst_value_subtract_fraction_range_fraction_range),
2130         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2131         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2132         (gst_value_transform_string_fraction), (_gst_value_initialize):
2133         * gst/gstvalue.h:
2134           Implement fraction ranges and extend GstFraction to support
2135           arithmetic subtraction, as well as deserialization from integer
2136           strings such as "100"
2137           Add a testsuite as for int and double range set operations
2138
2139 2005-11-21  Andy Wingo  <wingo@pobox.com>
2140
2141         * gst/gsttaglist.h: 
2142         * gst/gstcaps.h: 
2143         * gst/gststructure.h: Add glib-compat.h.
2144
2145 2005-11-21  Wim Taymans  <wim@fluendo.com>
2146
2147         * gst/gstbin.c: (gst_bin_change_state_func):
2148         Fix for #321595
2149
2150 2005-11-21  Wim Taymans  <wim@fluendo.com>
2151
2152         * gst/gstsegment.h:
2153         And add a nice define too.
2154
2155 2005-11-21  Wim Taymans  <wim@fluendo.com>
2156
2157         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2158         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2159         (gst_segment_set_duration), (gst_segment_set_last_stop),
2160         (gst_segment_set_seek), (gst_segment_set_newsegment),
2161         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2162         (gst_segment_clip):
2163         * gst/gstsegment.h:
2164         Make binding friendly.
2165
2166 2005-11-21  Andy Wingo  <wingo@pobox.com>
2167
2168         * gst/gsttagsetter.h: 
2169         * gst/gsttaglist.h: 
2170         * gst/gststructure.h: 
2171         * gst/gstcaps.h: 
2172         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2173         #319940.
2174
2175         * gst/gsterror.c (_gst_core_errors_init):
2176         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2177         category.
2178
2179         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2180         (noinst_HEADERS): noinst the -private.
2181
2182 2005-11-21  Michael Smith <msmith@fluendo.com>
2183
2184         * gst/gstplugin.h:
2185         * gst/gstregistry.h:
2186           Remove unimplemented declarations for which we can see no sensible
2187           use.
2188
2189 2005-11-21  Andy Wingo  <wingo@pobox.com>
2190
2191         * gst/gst.h: Include glib-compat.h.
2192
2193         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2194
2195         * gst/glib-compat.c: Include the public and the private header.
2196
2197         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2198
2199         * gst/gstvalue.c: 
2200         * gst/gstpad.c: 
2201         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2202
2203         * check/gst/gstevent.c (create_custom_events): Check that
2204         FLUSH_STOP is serialized.
2205
2206         * check/elements/identity.c (event_func): 
2207         * check/elements/fakesrc.c (event_func): No stream lock, the core
2208         takes it.
2209
2210         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2211         stream lock taking, yay.
2212
2213         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2214         ensure that core takes the stream lock.
2215
2216         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2217         lock name change.
2218
2219         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2220         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2221         it already. For the flush start we do take it though so we get the
2222         right preroll state change messages.
2223
2224         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2225         the stream lock here, the core does it for us.
2226
2227         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2228         GST_STREAM_GET_LOCK.
2229         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2230         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2231         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2232         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2233         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2234         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2235
2236         * gst/gstpad.c: Update for stream lock name change.
2237
2238         * gst/base/gstbasesink.c: Update for preroll lock name change.
2239
2240 2005-11-21  Wim Taymans  <wim@fluendo.com>
2241
2242         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2243         (gst_clock_get_master):
2244         * gst/gstclock.h:
2245         * gst/gstsystemclock.c: (gst_system_clock_init):
2246         Convert Clock flags to object flags.
2247         Added methods to manage master/slave clocks.
2248
2249 2005-11-21  Wim Taymans  <wim@fluendo.com>
2250
2251         * check/gst/gstsegment.c: (GST_START_TEST):
2252         * docs/design/part-TODO.txt:
2253         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2254         (gst_base_sink_event), (gst_base_sink_do_sync),
2255         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2256         (gst_base_sink_query), (gst_base_sink_change_state):
2257         * gst/base/gstbasesink.h:
2258         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2259         (gst_base_src_default_newsegment),
2260         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2261         (gst_base_src_get_range), (gst_base_src_loop),
2262         (gst_base_src_change_state):
2263         * gst/base/gstbasesrc.h:
2264         * gst/base/gstbasetransform.c:
2265         (gst_base_transform_prepare_output_buf),
2266         (gst_base_transform_event), (gst_base_transform_change_state):
2267         * gst/base/gstbasetransform.h:
2268         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2269         (gst_collect_pads_event):
2270         * gst/base/gstcollectpads.h:
2271         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2272         (gst_fake_src_create):
2273         * gst/elements/gstfakesrc.h:
2274         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2275         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2276         (gst_segment_set_last_stop), (gst_segment_set_seek),
2277         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2278         (gst_segment_to_running_time), (gst_segment_clip):
2279         * gst/gstsegment.h:
2280         More segment updates, replace code in plugins with segment
2281         helper functions.
2282
2283 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2284
2285         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2286         Don't ignore sscanf results
2287
2288 2005-11-21  Andy Wingo  <wingo@pobox.com>
2289
2290         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2291
2292         * *.h:
2293         * *.c: Ran scripts/update-macros. Oh yes.
2294
2295         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2296         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2297         GST_GET_LOCK, etc.
2298
2299         * scripts/update-macros: New script. Run it on your files to
2300         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2301         well.
2302
2303 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2304
2305         * docs/gst/Makefile.am:
2306         * docs/gst/gstreamer-docs.sgml:
2307         * docs/gst/gstreamer-sections.txt:
2308         * docs/gst/gstreamer.types:
2309         * gst/gstinfo.h:
2310           more docs fixes, add new api to the docs
2311
2312 2005-11-21  Andy Wingo  <wingo@pobox.com>
2313
2314         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2315         state_broadcast call.
2316
2317         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2318
2319 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2320
2321         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2322         function calls for arrays.
2323
2324 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2325
2326         * docs/random/ensonic/media-device-daemon.txt:
2327           wild idea, can this be done?
2328         * docs/gst/gstreamer-sections.txt:
2329         * gst/gsterror.h:
2330         * gst/gstfilter.c:
2331         * gst/gstfilter.h:
2332         * gst/gstplugin.h:
2333         * gst/gstpluginfeature.c:
2334         * gst/gsttrace.c:
2335         * gst/gstvalue.c:
2336         * gst/gstvalue.h:
2337           doc fixes and additions
2338
2339 2005-11-21  Andy Wingo  <wingo@pobox.com>
2340
2341         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2342         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2343         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2344         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2345         private to the basesrc implementation.
2346
2347         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2348         behalf of event function if necessary. It should no longer be
2349         necessary to take the stream lock in pad's event functions. Fixes
2350         #320299.
2351
2352 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2353         * docs/gst/gstreamer-sections.txt:
2354         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2355         (gst_structure_fixate_field_nearest_double),
2356         (gst_structure_fixate_field_boolean):
2357         * gst/gststructure.h:
2358         * win32/common/libgstreamer.def:
2359         * win32/gstreamer.def:
2360
2361         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2362         (#322027)
2363
2364 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2365
2366         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2367         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2368         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2369         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2370         (gst_fdsrc_uri_handler_init):
2371         * gst/elements/gstfdsrc.h:
2372           Port fd:// URI handler from 0.8 to fdsrc
2373
2374 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2375
2376         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2377         (gst_value_serialize_fourcc):
2378         * gst/gstvalue.h:
2379           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2380           consistent with our other format defines (#320324).
2381
2382 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         * gst/gstvalue.c: (gst_value_is_fixed):
2385           Revert previous commit. Value lists are by definition
2386           not fixed, as they are a list of possible values.
2387
2388 2005-11-21  Andy Wingo  <wingo@pobox.com>
2389
2390         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2391         during the stable series if we need it. Fixes #319178.
2392
2393         * gst/gstevent.c (gst_event_new_filler): Removed.
2394
2395         * check/gst/gstevent.c: Update comment about filler events.
2396
2397 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2398
2399         * gst/gstvalue.c: (gst_value_is_fixed):
2400           Should handle both value arrays and value lists.
2401
2402 2005-11-21  Andy Wingo  <wingo@pobox.com>
2403
2404         patch by: Alessandro Dessina <alessandro nnva org>
2405
2406         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2407         functions to access arrays. Fixes #321962.
2408
2409 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2410
2411         * docs/gst/gstreamer.types:
2412           gst_collectpads_get_type => gst_collect_pads_get_type.
2413           
2414         * gst/base/gstbasetransform.c:
2415           Remove unused SIGNAL_HANDOFF enum.
2416
2417 2005-11-21  Andy Wingo  <wingo@pobox.com>
2418
2419         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2420         the event type (upstream, downstream, serialized). Renamed
2421         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2422         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2423         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2424
2425         * gst/gstevent.c: Update for new CUSTOM event names.
2426
2427         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2428
2429         * gst/gstevent.h:
2430         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2431         bug #319392.
2432
2433 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2434
2435         * docs/gst/gstreamer-sections.txt:
2436         * win32/common/libgstbase.def:
2437         * win32/libgstbase.def:
2438         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2439         (gst_collect_pads_class_init), (gst_collect_pads_init),
2440         (gst_collect_pads_finalize), (gst_collect_pads_new),
2441         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2442         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2443         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2444         (gst_collect_pads_start), (gst_collect_pads_stop),
2445         (gst_collect_pads_peek), (gst_collect_pads_pop),
2446         (gst_collect_pads_available), (gst_collect_pads_read),
2447         (gst_collect_pads_flush), (gst_collect_pads_event),
2448         (gst_collect_pads_chain):
2449         * gst/base/gstcollectpads.h:
2450           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2451           unimplemented functions as unimplemented. Add padding to
2452           GstCollectData. (#320766, #320423)
2453
2454 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2455
2456         * gst/gstmessage.c:
2457           Improve docs for DURATION message (usage of duration parameter)
2458           (#320113)
2459
2460 2005-11-20  Wim Taymans  <wim@fluendo.com>
2461
2462         * check/Makefile.am:
2463         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2464         (main):
2465         * gst/Makefile.am:
2466         * gst/gst.h:
2467         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2468         (gst_segment_set_seek), (gst_segment_set_newsegment),
2469         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2470         (gst_segment_clip):
2471         * gst/gstsegment.h:
2472         Added segment helper structure and methods. Not fully implemented
2473         yet.
2474         Added segment check.
2475
2476 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2477
2478         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2479           Add a deserialisation test for fractions
2480         * examples/metadata/read-metadata.c: (message_loop),
2481         (make_pipeline), (main):
2482           Fix up metadata reading sample.
2483         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2484           Debug format fix
2485         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2486           Don't try and fixate empty caps
2487         * gst/gst_private.h:
2488           Wrap in G_BEGIN_DECLS/G_END_DECLS
2489         * gst/gstvalue.c: (gst_value_collect_fraction),
2490         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2491         (gst_value_transform_string_fraction),
2492         (gst_value_compare_fraction):
2493           Add some extra guards to ensure that we don't end up 
2494           with an invalid denominator of 0 in a gstfraction and
2495           that fractions always get reduced.
2496
2497 2005-11-20  Wim Taymans  <wim@fluendo.com>
2498
2499         * docs/gst/gstreamer-sections.txt:
2500         * gst/gstbuffer.h:
2501         * gst/gstelement.c:
2502         * gst/gstformat.c:
2503         * gst/gstformat.h:
2504         * gst/gstindex.h:
2505         * gst/gstquery.c:
2506         * gst/gstquery.h:
2507         * gst/gstvalue.c:
2508         Doc fixes.
2509
2510 2005-11-20  Wim Taymans  <wim@fluendo.com>
2511
2512         * docs/design/part-TODO.txt:
2513         * gst/gstcaps.h:
2514         Make a proper enum of the flag.
2515
2516 2005-11-19  Wim Taymans  <wim@fluendo.com>
2517
2518         * docs/design/part-TODO.txt:
2519         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2520         (gst_format_to_quark), (gst_format_register):
2521         * gst/gstformat.h:
2522         * gst/gstquery.c: (_gst_query_initialize),
2523         (gst_query_type_get_name), (gst_query_type_to_quark),
2524         (gst_query_type_register):
2525         * gst/gstquery.h:
2526         Add type to quark and type to string conversions.
2527
2528 2005-11-19  Andy Wingo  <wingo@pobox.com>
2529
2530         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2531         #320097.
2532
2533 2005-11-19  Wim Taymans  <wim@fluendo.com>
2534
2535         * docs/design/part-TODO.txt:
2536         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2537         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2538         (gst_bin_handle_message_func):
2539         * gst/gstbin.h:
2540         Make message handling overridable.
2541
2542 2005-11-19  Andy Wingo  <wingo@pobox.com>
2543
2544         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2545
2546         * gst/gstclock.h:
2547         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2548         be a GstClockTime.
2549         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2550         is a GstClockTime. Fixes #321710.
2551
2552         * gst/gstclock.h (GstClock): Remove offset property. Add
2553         internal_calibration and external_calibration. Fix padding. Pad
2554         also by GstClockTime so we don't run into problems.
2555
2556         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2557         (gst_clock_get_rate_offset): Remove.
2558         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2559
2560         * gst/gstutils.h:
2561         * gst/gstutils.c (g_static_rec_cond_wait)
2562         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2563
2564         * gst/gstbin.c: Remove terrible continue_state prototype.
2565
2566         * gst/gstelement.h (gst_element_continue_state): Make public.
2567
2568         * gst/gstelement.h:
2569         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2570         by continue_state. Fixes #319389.
2571
2572         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2573         Really fixes #168438. However I don't see anywhere where the
2574         filter function is called... stupid GStreamer...
2575         
2576         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2577         don't have a dispose function, so it won't get called when the
2578         object is unreffed, but oh well!
2579
2580         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2581         allows a destroy function to be set so user_data can be freed.
2582         Fixes #168438.
2583         (gst_index_set_filter): Call gst_index_set_filter_full.
2584
2585         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2586
2587         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2588         string should produce an error, given the lack of a way to
2589         represent NULL strings. Fixes #165650.
2590         
2591         * gst/gstvalue.h: 
2592         * gst/gstvalue.c (gst_value_array_append_value) 
2593         (gst_value_array_prepend_value, gst_value_array_get_size) 
2594         (gst_value_array_get_value): New API, copied from
2595         gst_value_list_*, only operates on arrays.
2596         (gst_value_list_append_value, gst_value_list_prepend_value) 
2597         (gst_value_list_concat, gst_value_list_get_size) 
2598         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2599
2600         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2601         init_list, because it works on both.
2602         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2603         (gst_value_copy_list_or_array): Renamed from copy_list.
2604         (gst_value_free_list_or_array): Renamed from free_list.
2605         (gst_value_collect_list_or_array): Renamed from collect_list.
2606         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2607         (gst_value_list_or_array_peek_pointer): Renamed from
2608         list_peek_pointer.
2609         (_gst_value_array_value_table, _gst_value_list_value_table):
2610         Update value table functions.
2611         (gst_value_compare_list_or_array): Renamed from compare_list.
2612
2613         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2614         some constness.
2615
2616         * gst/gsttaglist.c:
2617         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2618         GstTagList*. Fixes #143472.
2619
2620         * gst/gststructure.h: Clarify what the foreach/map functions can
2621         or can't do to their arguments.
2622
2623 2005-11-18  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/gstclock.c: (gst_clock_set_calibration),
2626         (gst_clock_get_calibration):
2627         Doc and API fixes.
2628         Calibration can be set with internal time equal to current
2629         internal time too.
2630
2631 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2632
2633         * gst/gsterror.c:
2634         * gst/gsterror.h:
2635           document
2636
2637 2005-11-18  Andy Wingo  <wingo@pobox.com>
2638
2639         * configure.ac: 
2640         * pkgconfig/gstreamer-net.pc.in:
2641         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2642         * pkgconfig/Makefile.am: Add net pkgconfig files.
2643
2644 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2645
2646         * gst/gstcaps.c:
2647         * gst/gstghostpad.c:
2648         * gst/gsttrace.c:
2649         * gst/gstvalue.c:
2650         * gst/gstvalue.h:
2651           docs fixes
2652
2653 2005-11-18  Andy Wingo  <wingo@pobox.com>
2654
2655         * gst/net/gstnetclientclock.c: Turn off debugging.
2656
2657         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2658         times connverge somewhat. Can't make a real test.
2659
2660         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2661         integer arithmetic. Return the minimum of the domain, which can be
2662         set as "internal" for gst_clock_set_calibration.
2663         (gst_net_client_clock_observe_times): Call _set_calibration.
2664         (gst_net_client_clock_new): Call _set_calibration instead of
2665         rate_offset.
2666
2667         * check/net/gstnetclientclock.c (test_functioning): Use the right
2668         adjustment api.
2669
2670         * gst/gstclock.h:
2671         * gst/gstclock.c (gst_clock_get_calibration) 
2672         (gst_clock_set_calibration): New functions, obsolete the ones I
2673         added yesterday. Doh. Precision issues mean we have to extrapolate
2674         from a point in the more recent past than 1970.
2675         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2676         obsolete.
2677         (gst_clock_adjust_unlocked): Use the right calibration data.
2678
2679 2005-11-18  Edward Hervey  <edward@fluendo.com>
2680
2681         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2682         Also reset the ->current_* values in READY->PAUSED
2683
2684 2005-11-18  Andy Wingo  <wingo@pobox.com>
2685
2686         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2687         Whoops, check the right fd. Also add some debugging.
2688         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2689         (do_linear_regression): Add a crapload of debugging. Subtract off
2690         the minimum values from the input series to discard unneeded bits.
2691         Use only int arithmetic. There is still double arithmetic when
2692         calculating the intercept that needs fixing. Return boolean to
2693         indicate success; FALSE would mean the domain or range is too
2694         great. Still needs fixes.
2695
2696 2005-11-18  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2699         For the current position in stream time, we need to subtract
2700         accumulated time.
2701         
2702         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2703         Release lock before calling the callback function of async
2704         entries.
2705
2706 2005-11-18  Andy Wingo  <wingo@pobox.com>
2707
2708         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2709         Port goes all the way to MAXUINT16.
2710
2711         * gst/net/gstnettimeprovider.c: Make the port range the same as
2712         for the kernel: 0 assigns, otherwise ports are less than
2713         MAXUINT16.
2714
2715         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2716         port change.
2717
2718         * check/net/gstnetclientclock.c (test_functioning): Add the start
2719         of another test. 
2720
2721 2005-11-18  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2724         (gst_bin_remove_func), (bin_bus_handler):
2725         * gst/gstbin.h:
2726         Removing a clock provider from a bin, triggers a clock lost message
2727         so that a new clock will be selected.
2728         Adding a clock to a bin triggers a clock provider message.
2729         Make sure we reselect a clock when we received a clock lost message.
2730         Keep a reference to the element that provided the clock.
2731
2732 2005-11-18  Andy Wingo  <wingo@pobox.com>
2733
2734         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2735         the clock initially so it produces values around the base time.
2736         (gst_net_client_clock_class_init): Typo fix.
2737         (gst_net_client_clock_thread): Add note on when the socket gets
2738         closed.
2739
2740 2005-11-17  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2743         Free remote and local time arrays.
2744
2745 2005-11-17  Wim Taymans  <wim@fluendo.com>
2746
2747         * gst/net/gstnetclientclock.c: (do_linear_regression),
2748         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2749         Fix compilation, uninitialized vars and a forgotten continue.
2750
2751 2005-11-17  Andy Wingo  <wingo@pobox.com>
2752
2753         * check/Makefile.am (check_PROGRAMS): 
2754         * check/net/gstnetclientclock.c: Add a most minimal test for the
2755         net client clock. More to come later.
2756
2757         * gst/net/gstnet.h: 
2758         * gst/net/Makefile.am: Add netclientclock.
2759
2760         * gst/net/gstnetclientclock.h:
2761         * gst/net/gstnetclientclock.c: New files, implement an untested
2762         GstClock that takes its time from a network time provider.
2763         Implements the algorithm in network-clock.scm.
2764
2765         * tests/network-clock.scm (*window-size*): Rename from
2766         *queue-length*.
2767         * tests/network-clock.scm (network-time): 
2768         * tests/network-clock-utils.scm (q-push): Update callers.
2769
2770 2005-11-17  Wim Taymans  <wim@fluendo.com>
2771
2772         * gst/gstbin.c: (gst_bin_provide_clock_func),
2773         (gst_bin_sort_iterator_new):
2774         And unref the child too..
2775
2776 2005-11-17  Wim Taymans  <wim@fluendo.com>
2777
2778         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2779         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2780         Refactor the sort iterator so it can be used while holding the
2781         LOCK too.
2782         Make clock selection select a clock closest to the source.
2783
2784 2005-11-17  Michael Smith <msmith@fluendo.com>
2785
2786         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2787         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2788         * gst/gstclock.h:
2789           Anonymous structs are a gcc (and some other compilers) extension, so
2790           don't use them. Since this is only for ABI-compatibility, and our
2791           API/ABI freeze is over in a few days, this whole thing will only
2792           last a few days, so don't bother trying to think up a meaningful
2793           name for the struct.
2794
2795 2005-11-17  Andy Wingo  <wingo@pobox.com>
2796
2797         * gst/gstclock.h (GstClock): Add rate and offset properties,
2798         preserving ABI stability. Add rate/offset accessors. Will file bug
2799         for the freeze break.
2800
2801         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2802         and offset, trying to keep precision and avoiding
2803         underflow/overflow.
2804         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2805         functions. Make gst_clock_set_time_adjust obsolete.
2806         (gst_clock_set_time_adjust): Note that this function is obsolete.
2807         Will file bug soon.
2808
2809         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2810         greppable by using GST_PADDING-1+1.
2811
2812 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2813
2814         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2815
2816         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2817           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2818
2819         * gst/gstpadtemplate.h:
2820         * gst/gstpluginfeature.h:
2821           Don't use c++ style comments in headers (#321638).
2822
2823 2005-11-16  Andy Wingo  <wingo@pobox.com>
2824
2825         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2826         buffer.
2827
2828         * check/net/gstnettimeprovider.c: Check to see that the time
2829         provider actually provides times. Works, yo!
2830
2831 2005-11-16  Wim Taymans  <wim@fluendo.com>
2832
2833         * check/Makefile.am:
2834         Enable more tests.
2835
2836         * check/elements/fakesrc.c: (GST_START_TEST):
2837         Set element to NULL before disposing it.
2838
2839 2005-11-16  Andy Wingo  <wingo@pobox.com>
2840
2841         * gst/net/Makefile.am:
2842         * gst/net/gstnet.h:
2843         * gst/net/gstnettimeprovider.c: 
2844         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2845         provider, include it from gstnet.h, and add it to the build.
2846
2847         * gst/net/gstnettimepacket.h: 
2848         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2849         sending and receiving.
2850
2851 2005-11-16  Wim Taymans  <wim@fluendo.com>
2852
2853         * check/Makefile.am:
2854         Enable valgrind check.
2855
2856         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2857         (gst_fake_src_alloc_buffer):
2858         Fix memleak.
2859
2860 2005-11-16  Wim Taymans  <wim@fluendo.com>
2861
2862         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2863         Call parent finalize too.
2864
2865 2005-11-16  Wim Taymans  <wim@fluendo.com>
2866
2867         * check/Makefile.am:
2868         Enable valgrind check that should work fine now.
2869
2870         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2871         * gst/gstqueue.c: (gst_queue_init):
2872         Fix memleaks in pad allocation.
2873
2874 2005-11-16  Andy Wingo  <wingo@pobox.com>
2875
2876         * gst/net/Makefile.am:
2877         * gst/net/gstnet.h: New part of core to hold network elements and
2878         objects. Put in core because it exposes API that applications want
2879         to use. The library is named libgstnet-tempname right now because
2880         of the existing libgstnet in gst-plugins-base. Solution is
2881         probably to rename the one in plugins-base; will file a bug for
2882         the freeze break.
2883
2884         * gst/net/gstnettimeprovider.c: 
2885         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2886         get_time call over the network.
2887
2888         * configure.ac: 
2889         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2890
2891         * check/Makefile.am:
2892         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2893         get additions shortly.
2894
2895 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2896
2897         * gst/gstpad.c: (gst_pad_new_from_static_template):
2898         * gst/gstpad.h:
2899           add gst_pad_new_from_static_template functions
2900         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2901         (gst_check_setup_sink_pad):
2902         * gst/elements/gsttee.c: (gst_tee_init):
2903           and use them
2904
2905 2005-11-16  Wim Taymans  <wim@fluendo.com>
2906
2907         * gst/gstpad.c: (gst_pad_pause_task):
2908         Removed warning, it's not really an error either.
2909
2910 2005-11-16  Wim Taymans  <wim@fluendo.com>
2911
2912         * gst/base/gstbasetransform.c:
2913         (gst_base_transform_prepare_output_buf),
2914         (gst_base_transform_event):
2915         Check if the caps are NULL, this can happen if the element
2916         is shutting down and the pad caps are set to NULL.
2917
2918 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2919
2920         * gst/elements/gsttee.c: (gst_tee_init):
2921           fix pad template leak in tee
2922
2923 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2924
2925         * gst/glib-compat.c: (g_value_dup_gst_object):
2926         * gst/glib-compat.h:
2927         * gst/gstpad.c: (gst_pad_set_property):
2928           use gst_object_ref when setting the pad template; this will
2929           trigger the pad template leaks on GLib 2.6 and the slaves
2930
2931 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2932
2933         * gst/glib-compat.c: (gst_flags_get_first_value):
2934         * gst/glib-compat.h:
2935         * gst/gstregistryxml.c:
2936           remove functions copied from GLib 2.6
2937
2938 2005-11-16  Michael Smith <msmith@fluendo.com>
2939
2940         * gst/Makefile.am:
2941           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2942           do, but only breaks with newer valgrind versions. We're not a
2943           valgrind tool, we have no link-time dependencies on libcoregrind.
2944
2945 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2946
2947         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2948           some debug changes
2949         * gst/gstmessage.h:
2950           typo fixes
2951
2952 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * gst/base/gstbasesrc.c: (gst_base_src_init):
2955         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2956         * gst/gstqueue.c: (gst_queue_init):
2957         * gst/gstregistryxml.c: (load_feature):
2958           Revert all these unrefs, they don't even pass make check !
2959
2960 2005-11-15  Johan Dahlin  <johan@gnome.org>
2961
2962         * gst/base/gstbasesrc.c: (gst_base_src_init):
2963         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2964         * gst/gstqueue.c: (gst_queue_init): 
2965         Free pad templates, fixes a couple of leaks.
2966
2967 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2968
2969         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2970
2971         * gst/gstpad.c: (gst_pad_get_property):
2972           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2973           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2974           (#321452)
2975
2976 2005-11-15  Wim Taymans  <wim@fluendo.com>
2977
2978         * gst/gstevent.c:
2979         Small doc update.
2980
2981 2005-11-15  Andy Wingo  <wingo@pobox.com>
2982
2983         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2984
2985         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2986         using GST_CLOCK_TIME_NONE to disable base time management.
2987         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2988         time if it was NONE before.
2989         (gst_pipeline_change_state): Only munge the base time if
2990         stream_time != GST_CLOCK_TIME_NONE.
2991
2992         * check/gst/gstpipeline.c (test_base_time): Punt around the
2993         problem of the probe not being called, because that's not the
2994         issue I'm looking at. Add a check that setting stream_time to NONE
2995         disables base time management.
2996         
2997 2005-11-15  Wim Taymans  <wim@fluendo.com>
2998
2999         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3000         segment_stop == -1 at startup.
3001
3002         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3003         (gst_base_transform_change_state):
3004         Init segment values at start.
3005
3006 2005-11-15  Wim Taymans  <wim@fluendo.com>
3007
3008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3009         0 segment values are 0 in any format.
3010
3011         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3012         * gst/base/gstbasetransform.h:
3013         Parse newsegment correctly in basetransform
3014
3015         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3016         Sync to clock using updated segment values.
3017
3018 2005-11-15  Andy Wingo  <wingo@pobox.com>
3019
3020         * check/gst/gstpipeline.c (test_base_time): Add check that the
3021         base time and stream time are reset correctly.
3022
3023 2005-11-15  Wim Taymans  <wim@fluendo.com>
3024
3025         * docs/design/part-TODO.txt:
3026         Some more TODO items.
3027
3028 2005-11-15  Andy Wingo  <wingo@pobox.com>
3029
3030         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3031         error if the user selected "no clock" as the clocking method.
3032
3033         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3034         timestamps with live capture.
3035
3036         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3037         is 0 but we are a live source, timestamp the buffers using the
3038         element's clock.
3039
3040 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3041
3042         * docs/gst/gstreamer-sections.txt:
3043         * gst/gsterror.c:
3044         * gst/gstghostpad.c:
3045         * gst/gstobject.h:
3046         * gst/gstxml.c:
3047           more section docs
3048
3049 2005-11-14  Wim Taymans  <wim@fluendo.com>
3050
3051         * common/gst.supp:
3052           add suppressions from Wim's Debian machine
3053
3054 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3055
3056         * common/gst.supp:
3057           add suppressions from Andy's AMD64 Ubuntu machine
3058
3059 2005-11-14  Andy Wingo  <wingo@pobox.com>
3060
3061         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3062         STATE_LOCK not necessary. Fixes #311489.
3063
3064         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3065         #305291.
3066
3067         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3068         this function is not implemented.
3069
3070 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3071
3072         * gst/base/gstbasetransform.c:
3073         (gst_base_transform_prepare_output_buf):
3074         Ref the source pad caps while we need them.
3075         Fixes (#321386)
3076
3077 2005-11-11  Wim Taymans  <wim@fluendo.com>
3078
3079         * docs/gst/gstreamer-sections.txt:
3080         Added some docs for GstCollectData.
3081
3082         * gst/base/gstadapter.c:
3083         Some small code example fix.
3084
3085         * gst/base/gstcollectpads.c:
3086         * gst/base/gstcollectpads.h:
3087         Document some more.
3088
3089 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3090
3091         * configure.ac: back to HEAD
3092
3093 === release 0.9.5 ===
3094
3095 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3096
3097         * configure.ac:
3098           releasing 0.9.5, "Bike Lunch Day"
3099
3100 2005-11-11  Wim Taymans  <wim@fluendo.com>
3101
3102         * gst/gstbuffer.c: (_gst_buffer_copy):
3103         Copy more flags.
3104
3105         * gst/gstcaps.c: (gst_caps_is_equal):
3106         Fix some docs.
3107         Make _is_equal fast in the trivial cases.
3108
3109         * gst/gstminiobject.c:
3110         * gst/gstminiobject.h:
3111         More docs. Spifify .h file.
3112
3113         * gst/gstutils.c:
3114         Small doc update.
3115
3116 2005-11-11  Wim Taymans  <wim@fluendo.com>
3117
3118         * gst/base/gstbasetransform.c:
3119         (gst_base_transform_prepare_output_buf),
3120         (gst_base_transform_handle_buffer):
3121         Small cleanups.
3122         If we're processing a buffer and need to allocate an output
3123         buffer, we cannot accept a format change. If we did get a 
3124         format change, we have to alloc a buffer ourselves of the 
3125         right size.
3126
3127 2005-11-11  Wim Taymans  <wim@fluendo.com>
3128
3129         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3130         While checking the flag for reentrancy in the gstcaps function
3131         is nice to detect recursive invocations, it also makes it 
3132         impossible to call getcaps from multiple threads, which must be
3133         possible. So, checking for recursive calls has to go.
3134
3135 2005-11-11  Michael Smith <msmith@fluendo.com>
3136
3137         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3138           Don't sync on buffers that fall partially outside our current
3139           segment. Prevents an assertion failure/abort playing some files.
3140
3141 2005-11-10  Andy Wingo  <wingo@pobox.com>
3142
3143         * check/gst/gstbin.c (test_message_state_changed_children): Style
3144         fix..
3145
3146         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3147         gst_bus_poll with the signal watch. Ensures that poll and a signal
3148         watch see the same messages.
3149
3150         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3151         a poll and a watch at the same time get the same messages.
3152
3153 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3154
3155         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3156         * gst/gstcaps.c: (gst_caps_intersect):
3157           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3158           and it's not needed.
3159
3160 2005-11-10  Wim Taymans  <wim@fluendo.com>
3161
3162         * docs/design/part-TODO.txt:
3163         Updated todo.
3164
3165 2005-11-10  Wim Taymans  <wim@fluendo.com>
3166
3167         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3168         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3169         (gst_base_src_do_sync), (gst_base_src_get_range):
3170         Implement clock sync in base class.
3171
3172 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3173
3174         patch by: Tim-Philipp Müller <tim at centricular dot net>
3175
3176         * gst/gststructure.c: (gst_structure_parse_field),
3177         (gst_structure_from_string):
3178           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3179           so that gst_parse_launch() can deal with spaces in filtered link
3180           caps (fixes #164479)
3181         * check/gst/capslist.h:
3182         * check/gst/gststructure.c: (GST_START_TEST):
3183           add unit tests for this change
3184
3185 2005-11-10  Wim Taymans  <wim@fluendo.com>
3186
3187         * docs/gst/gstreamer-sections.txt:
3188         * gst/gstelement.c:
3189         * gst/gstelement.h:
3190         Fix docs, move some STATE macros to private.
3191
3192 2005-11-10  Wim Taymans  <wim@fluendo.com>
3193
3194         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3195         Added check for bug #317341
3196
3197         * gst/gstbuffer.c:
3198         * gst/gstbuffer.h:
3199         Some more spiffifying.
3200
3201         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3202         Call peer linkfunction if we are a source pad. Totally fixes
3203         #317341
3204
3205         * gst/gstpad.c:
3206         Update docs, source pads should call the peer linkfunction
3207         so they can atomically perform the pad link.
3208
3209 2005-11-09  Wim Taymans  <wim@fluendo.com>
3210
3211         * gst/gstbuffer.c:
3212         * gst/gstbuffer.h:
3213         Uber-spiffy-spiffify some more.
3214
3215 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3216
3217         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3218         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3219         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3220         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3221         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3222         * gst/gstpad.c: (gst_pad_init):
3223           Use GST_DEBUG_FUNCPTR() more extensively.
3224
3225 2005-11-09  Wim Taymans  <wim@fluendo.com>
3226
3227         * gst/gstobject.c: (gst_object_class_init):
3228         * gst/gstobject.h:
3229         Documentation fixes.
3230
3231 2005-11-09  Edward Hervey  <edward@fluendo.com>
3232
3233         * gst/gsttypefindfactory.c:
3234         Fix docs.
3235         
3236 2005-11-09  Edward Hervey  <edward@fluendo.com>
3237
3238         * gst/base/gsttypefindhelper.c:
3239         * gst/gsttypefind.c:
3240         * gst/gsttypefind.h:
3241         Fix docs.
3242
3243 2005-11-09  Wim Taymans  <wim@fluendo.com>
3244
3245         * gst/gstiterator.c:
3246         Fix revision data.
3247
3248         * gst/gsttask.c:
3249         * gst/gsttask.h:
3250         Fix docs.
3251
3252 2005-11-09  Wim Taymans  <wim@fluendo.com>
3253
3254         * gst/gstevent.h:
3255         * gst/gsturi.h:
3256         Fix docs.
3257
3258 2005-11-09  Wim Taymans  <wim@fluendo.com>
3259
3260         * docs/gst/gstreamer-sections.txt:
3261         Moved the message async delivery private lock and cond
3262         to the private section.
3263
3264         * gst/gstmessage.c:
3265         * gst/gstmessage.h:
3266         Fixed docs.
3267
3268 2005-11-09  Edward Hervey  <edward@fluendo.com>
3269
3270         * docs/gst/gstreamer-sections.txt:
3271         * gst/gsturi.c:
3272         * gst/gsturi.h:
3273         Document GstURIHandler
3274
3275 2005-11-09  Wim Taymans  <wim@fluendo.com>
3276
3277         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3278         (gst_iterator_find_custom):
3279         * gst/gstiterator.h:
3280         Fix iterator docs.
3281
3282 2005-11-09  Wim Taymans  <wim@fluendo.com>
3283
3284         * gst/gstbin.h:
3285         Document another field.
3286
3287         * gst/gststructure.c:
3288         * gst/gststructure.h:
3289         Document.
3290
3291 2005-11-09  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/gstbin.h:
3294         Documented structs.
3295
3296 2005-11-09  Wim Taymans  <wim@fluendo.com>
3297
3298         * docs/gst/gstreamer-sections.txt:
3299         Added some new macros.
3300
3301         * gst/gstclock.c:
3302         * gst/gstclock.h:
3303         * gst/gstobject.h:
3304         Docs updates.
3305
3306 2005-11-09  Wim Taymans  <wim@fluendo.com>
3307
3308         * docs/design/part-TODO.txt:
3309         Some more items for the TODO
3310
3311         * gst/gstcaps.c:
3312         * gst/gstcaps.h:
3313         Document GstCaps.
3314
3315 2005-11-09  Andy Wingo  <wingo@pobox.com>
3316
3317         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3318         to work on something else now tho...
3319
3320         * gst/base/gstadapter.c: More adapter docs.
3321
3322         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3323         (gst_file_sink_stop): New functions, replace the state change
3324         handler.
3325         (gst_file_sink_class_init): Hook up the start and stop functions.
3326         (gst_file_sink_base_init): Don't set the state change handler any
3327         more. It was a bit ugly too, being set from here...
3328         (gst_file_sink_get_property, gst_file_sink_set_property):
3329         Cleanups...
3330         (gst_file_sink_set_location): More robust check that doesn't call
3331         GST_STATE. Ugggggg.
3332
3333 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3334
3335         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3336           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3337
3338 2005-11-08  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3341         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3342         (gst_base_sink_chain), (gst_base_sink_change_state):
3343         * gst/base/gstbasesink.h:
3344         * gst/base/gstbasesrc.h:
3345         * gst/gstelement.h:
3346         * gst/gstevent.h:
3347         Avoid excessive typechecking in macros.
3348
3349         * gst/gstminiobject.c: (gst_mini_object_get_type),
3350         (gst_mini_object_init), (gst_mini_object_new),
3351         (gst_mini_object_free):
3352         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3353         (gst_object_finalize):
3354         Remove cruft code, optimize alloc_trace.
3355
3356 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3357
3358         * docs/faq/gst-uninstalled:
3359           fix up PS1 for systems that try to reset it
3360
3361 2005-11-07  Wim Taymans  <wim@fluendo.com>
3362
3363         * gst/base/gstbasesrc.c: (gst_base_src_init),
3364         (gst_base_src_get_range):
3365         Set the segment_end to -1 initially. Fixed typefind.
3366
3367 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3368
3369         * gst/base/gstadapter.c:
3370           Debug category should be 'adapter', not 'GstAdapter'.
3371           
3372         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3373         (gst_collectpads_class_init), (gst_collectpads_init),
3374         (gst_collectpads_peek), (gst_collectpads_pop),
3375         (gst_collectpads_event), (gst_collectpads_chain):
3376           Add debug category and some debugging output. Use boilerplate
3377           macros. Remove some extraneous words from docs.
3378
3379 2005-11-05  Andy Wingo  <wingo@pobox.com>
3380
3381         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3382         macro.
3383
3384 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3385
3386         * docs/gst/gstreamer-sections.txt:
3387         * gst/gstcaps.h:
3388         * gst/gstinfo.c:
3389         * gst/gstminiobject.h:
3390         * gst/gstobject.h:
3391         * gst/gstutils.h:
3392           more docs added
3393
3394 2005-11-04  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3397         Small update to stop at the configured segment_end
3398         position.
3399
3400 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3401
3402         * gst/gstregistry.c:
3403         * gst/gstregistry.h:
3404           added missing docs
3405
3406 2005-11-04  Edward Hervey  <edward@fluendo.com>
3407
3408         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3409         Check if we are doing a segment seek and have arrived at the
3410         end of that segment.
3411
3412 2005-11-04  Wim Taymans  <wim@fluendo.com>
3413
3414         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3415         Don't leak a mutex unlock in case of an error.
3416
3417         * gst/gstbus.h:
3418         Doc fixes.
3419
3420 2005-11-04  Wim Taymans  <wim@fluendo.com>
3421
3422         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3423         (gst_bus_post):
3424         Get the context to wake up only once.
3425
3426 2005-11-03  Wim Taymans  <wim@fluendo.com>
3427
3428         * check/states/sinks.c: (GST_START_TEST):
3429         Uncomment fixed check.
3430
3431         * docs/design/part-TODO.txt:
3432         Updated TODO.
3433
3434         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3435         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3436         (gst_base_sink_get_position):
3437         If we are going to PLAYING, post the right pending state
3438         when we post the intermediate paused message.
3439
3440         * gst/gstelement.c: (gst_element_continue_state),
3441         (gst_element_set_state_func), (gst_element_change_state):
3442         Don't post state changes that were between the same state
3443         and were not ASYNC.
3444
3445 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3446
3447         * docs/gst/gstreamer-sections.txt:
3448         * gst/gstcaps.h:
3449         * gst/gstinfo.c:
3450         * gst/gstminiobject.h:
3451         * gst/gstobject.h:
3452         * gst/gstutils.h:
3453           more docs and doc style fixes
3454
3455 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3456
3457         * docs/gst/gstreamer-sections.txt:
3458         * gst/gstelement.c:
3459         * gst/gstminiobject.c:
3460         doc fixes
3461
3462 2005-11-03  Andy Wingo  <wingo@pobox.com>
3463
3464         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3465         state-changed messages actually have the right order and the right
3466         values.
3467
3468 2005-11-03  Wim Taymans  <wim@fluendo.com>
3469
3470         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3471         Added some more checks. Specifically the case where NO_PREROLL
3472         elements are in the pipeline.
3473
3474         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3475         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3476         (gst_base_sink_get_position):
3477         Post READY->PAUSED state change messages too.
3478         Fix bug where VOID was posted as pending state...
3479
3480         * gst/gstbin.c: (gst_bin_recalc_state):
3481         use _element_continue_state() to continue the state change.
3482
3483         * gst/gstelement.c: (gst_element_continue_state),
3484         (gst_element_commit_state), (gst_element_set_state_func),
3485         (gst_element_change_state), (gst_element_change_state_func):
3486         Lots of state change cleanups, assign the STATE_RETURN in
3487         a new continue_state() function that also propagates the
3488         last return value from a state change to the app.
3489         Update some debug statements with proper category.
3490
3491 2005-11-03  Wim Taymans  <wim@fluendo.com>
3492
3493         * docs/design/part-events.txt:
3494         * docs/design/part-gstpipeline.txt:
3495         * docs/design/part-messages.txt:
3496         * docs/design/part-overview.txt:
3497         * docs/design/part-seeking.txt:
3498         * docs/design/part-states.txt:
3499         * docs/design/part-trickmodes.txt:
3500         * docs/manual/advanced-position.xml:
3501         Small docs updates.
3502
3503         * gst/gstobject.h:
3504         People think !! is ugly, this looks better.
3505
3506         * gst/gstpad.c: (gst_pad_set_blocked_async):
3507         Remove !! since it's fixed elsewhere now.
3508
3509 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3510
3511         * gst/gstminiobject.h:
3512         * gst/gstobject.h:
3513           Add !! to _FLAG_IS_SET macros to make the result boolean.
3514
3515 2005-11-03  Edward Hervey  <edward@fluendo.com>
3516
3517         * gst/gstpad.c: (gst_pad_set_blocked_async):
3518         comparing a flag and a gboolean rarely returns coherent results...
3519         Added two characters (!!) to make that work correctly.
3520         
3521 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3522
3523         * gst/gstbus.c: (gst_bus_class_init):
3524           Fix some typos.
3525           
3526         * gst/gstqueue.c: (gst_queue_loop):
3527           Don't assume a miniobject that isn't a buffer is an
3528           event (it could be that there is a refcounting
3529           problem somewhere and the pointer is stale and
3530           refers to an already destroyed miniobject).
3531
3532 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3533
3534         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3535
3536 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3537
3538         * docs/manual/advanced-position.xml:
3539           Update seek example and explanations to current 0.9 API.
3540
3541         * gst/elements/gsttypefindelement.c:
3542         (gst_type_find_element_activate):
3543           Remove FIXME comment now that the found caps
3544           are unreffed.
3545
3546 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3547
3548         * gst/gstregistryxml.c: (load_feature):
3549           Add another GST_STR_NULL instance
3550
3551 2005-11-02  Edward Hervey  <edward@fluendo.com>
3552
3553         * gst/gstpad.c: (handle_pad_block):
3554         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3555         
3556 2005-11-02  Wim Taymans  <wim@fluendo.com>
3557
3558         * gst/gstbin.c:
3559         Fix typo in docs.
3560
3561         * gst/gstelement.c: (gst_element_commit_state):
3562         Remove unused value.
3563
3564         * gst/gstiterator.c:
3565         Mention that the returned element is reffed in the docs.
3566
3567 2005-11-02  Wim Taymans  <wim@fluendo.com>
3568
3569         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3570         (gst_pad_push), (gst_pad_push_event):
3571         Unlock blocked pads when they are flushed.
3572
3573 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3574
3575         * docs/README:
3576         * docs/gst/gstreamer-sections.txt:
3577         * gst/gstbin.c:
3578           doc updates
3579         * gst/gstregistry.c: (gst_registry_scan_path_level):
3580           fix for a nasty little missed situation where an installed plug-in
3581           which was in the cache did not get overridden by an uninstalled one
3582           which was earlier in the plugin path because the newly created plugin
3583           for the uninstalled one (not in the registry) didn't get its
3584           ->registered set to TRUE
3585
3586 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3587
3588         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3589         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3590         (gst_collectpads_is_active), (gst_collectpads_collect),
3591         (gst_collectpads_collect_range), (gst_collectpads_start),
3592         (gst_collectpads_stop), (gst_collectpads_peek),
3593         (gst_collectpads_pop), (gst_collectpads_available),
3594         (gst_collectpads_read), (gst_collectpads_flush):
3595           Guard public API with assertions.
3596         
3597         * gst/gstpad.c:
3598           Fix docs for gst_pad_set_link_function().
3599
3600 2005-11-02  Johan Dahlin  <johan@gnome.org>
3601
3602         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3603         Unref found_caps after we used it.
3604
3605 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3606
3607         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3608           Don't try to ref NULL.
3609
3610 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3611
3612         * win32/common/config.h.in:
3613           provide a GST_FUNCTION that just gives a string for now
3614
3615 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3616
3617         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3618         (gst_object_flags_get_type), (register_gst_bin_flags),
3619         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3620         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3621         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3622         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3623         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3624         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3625         (gst_clock_flags_get_type), (register_gst_state),
3626         (gst_state_get_type), (register_gst_state_change_return),
3627         (gst_state_change_return_get_type), (register_gst_state_change),
3628         (gst_state_change_get_type), (register_gst_element_flags),
3629         (gst_element_flags_get_type), (register_gst_core_error),
3630         (gst_core_error_get_type), (register_gst_library_error),
3631         (gst_library_error_get_type), (register_gst_resource_error),
3632         (gst_resource_error_get_type), (register_gst_stream_error),
3633         (gst_stream_error_get_type), (register_gst_event_type),
3634         (gst_event_type_get_type), (register_gst_seek_type),
3635         (gst_seek_type_get_type), (register_gst_seek_flags),
3636         (gst_seek_flags_get_type), (register_gst_format),
3637         (gst_format_get_type), (register_gst_index_certainty),
3638         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3639         (gst_index_entry_type_get_type),
3640         (register_gst_index_lookup_method),
3641         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3642         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3643         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3644         (gst_index_flags_get_type), (register_gst_debug_level),
3645         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3646         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3647         (gst_iterator_result_get_type), (register_gst_iterator_item),
3648         (gst_iterator_item_get_type), (register_gst_message_type),
3649         (gst_message_type_get_type), (register_gst_mini_object_flags),
3650         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3651         (gst_pad_link_return_get_type), (register_gst_flow_return),
3652         (gst_flow_return_get_type), (register_gst_activate_mode),
3653         (gst_activate_mode_get_type), (register_gst_pad_direction),
3654         (gst_pad_direction_get_type), (register_gst_pad_flags),
3655         (gst_pad_flags_get_type), (register_gst_pad_presence),
3656         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3657         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3658         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3659         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3660         (gst_plugin_flags_get_type), (register_gst_rank),
3661         (gst_rank_get_type), (register_gst_query_type),
3662         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3663         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3664         (gst_tag_flag_get_type), (register_gst_task_state),
3665         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3666         (gst_alloc_trace_flags_get_type),
3667         (register_gst_type_find_probability),
3668         (gst_type_find_probability_get_type), (register_gst_uri_type),
3669         (gst_uri_type_get_type), (register_gst_parse_error),
3670         (gst_parse_error_get_type):
3671         * win32/common/gstversion.h:
3672           update win32 copies
3673
3674 2005-11-01  Luca Ognibene  <luogni@tin.it>
3675
3676         * gst/gst.c:
3677           fix docs. popt is dead, long live GOption.
3678
3679 2005-10-31  Wim Taymans  <wim@fluendo.com>
3680
3681         * gst/gstbuffer.h:
3682         Small doc fix.
3683
3684 2005-10-31  Andy Wingo  <wingo@pobox.com>
3685
3686         * Boo!
3687
3688         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3689
3690         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3691         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3692         the possibility of deadlocks here if code calling notify() or
3693         set() has a lock that can be taken in another notify handler (ABBA
3694         with class lock and e.g. python GIL state lock).
3695
3696 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3697
3698         * gst/gstbus.c: Doc updates.
3699
3700 2005-10-28  Wim Taymans  <wim@fluendo.com>
3701
3702         * docs/design/part-TODO.txt:
3703         * gst/gstiterator.c:
3704         * gst/gstsystemclock.c:
3705         * gst/gstsystemclock.h:
3706         Doc updates.
3707
3708 2005-10-28  Edward Hervey  <edward@fluendo.com>
3709
3710         * docs/gst/gstreamer-docs.sgml:
3711         * docs/gst/gstreamer-sections.txt:
3712         the GstURIType documentation page is private, it only defines GstURIType
3713         which should be defined in the GstURIHandler page
3714         
3715 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3716
3717         * gst/gstbin.c: (gst_bin_class_init):
3718         * gst/gstbin.h:
3719         * gst/gstutils.c:
3720         Documentation updates.
3721
3722 2005-10-28  Wim Taymans  <wim@fluendo.com>
3723
3724         * docs/gst/gstreamer-sections.txt:
3725         * gst/gstclock.c:
3726         * gst/gstclock.h:
3727         Documented the clocks.
3728
3729 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3730
3731         * docs/gst/gstreamer-sections.txt:
3732           move some macros to private sections
3733         * gst/gstminiobject.c:
3734         * gst/gstminiobject.h:
3735           add descriptions provided by ds and some more
3736         * gst/gstpad.h:
3737           mark macro as to be removed
3738
3739 2005-10-28  Wim Taymans  <wim@fluendo.com>
3740
3741         * docs/design/part-TODO.txt:
3742         Add an item to TODO.
3743
3744         * gst/gstiterator.c: (gst_iterator_fold),
3745         (gst_iterator_find_custom):
3746         * gst/gstiterator.h:
3747         Add iterator docs.
3748
3749 2005-10-28  Wim Taymans  <wim@fluendo.com>
3750
3751         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3752         (gst_base_transform_init):
3753         Don't leak class.
3754
3755         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3756         An EOS event marks the queue as completely filled.
3757
3758 2005-10-27  Wim Taymans  <wim@fluendo.com>
3759
3760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3761         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3762         Some more debugging.
3763
3764         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3765         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3766         (gst_base_transform_event), (gst_base_transform_getrange),
3767         (gst_base_transform_chain):
3768         * gst/base/gstbasetransform.h:
3769         Fix debugging,
3770         Protect transform and concurrent buffer alloc with a new lock.
3771         Try not to break ABI/API.
3772
3773 2005-10-27  Wim Taymans  <wim@fluendo.com>
3774
3775         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3776         (gst_base_src_init), (gst_base_src_query),
3777         (gst_base_src_default_newsegment),
3778         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3779         (gst_base_src_send_event), (gst_base_src_event_handler),
3780         (gst_base_src_pad_get_range), (gst_base_src_loop),
3781         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3782         (gst_base_src_start), (gst_base_src_deactivate),
3783         (gst_base_src_activate_push), (gst_base_src_change_state):
3784         Move some stuff around and cleanup things.
3785
3786 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * gst/base/gstbasesrc.c: (gst_base_src_query):
3789           Add missing break statements.
3790
3791 2005-10-27  Wim Taymans  <wim@fluendo.com>
3792
3793         * check/gst/gstbin.c: (GST_START_TEST):
3794         An extra refcount is taken in basesrc.
3795
3796         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3797         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3798         (gst_base_src_loop):
3799         Small cleanups, check for flushing after being unlocked from the 
3800         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3801         Don't send out EOS when going to READY.
3802
3803 2005-10-27  Wim Taymans  <wim@fluendo.com>
3804
3805         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3806         (gst_base_sink_get_position):
3807         Some more debug.
3808
3809         * gst/gstbin.c: (message_check), (bin_replace_message),
3810         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3811         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3812         (bin_query_duration_init), (bin_query_duration_fold),
3813         (bin_query_duration_done), (bin_query_generic_fold),
3814         (gst_bin_query):
3815         * tools/gst-launch.c: (main):
3816         Remove old option.
3817
3818 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3819
3820         * examples/controller/audio-example.c: (main):
3821         * examples/queue/queue.c: (event_loop):
3822         * gst/base/gstbasetransform.h:
3823         * gst/gstelement.c: (gst_element_send_event):
3824         * gst/gstevent.h:
3825         * gst/gstpad.c: (gst_pad_send_event):
3826           fixing examples
3827           fixing docs typos
3828           changing log priority in error situations
3829
3830 2005-10-25  Wim Taymans  <wim@fluendo.com>
3831
3832         * gst/gstbin.c: (message_check), (bin_replace_message),
3833         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3834         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3835         (bin_query_duration_init), (bin_query_duration_fold),
3836         (bin_query_duration_done), (bin_query_generic_fold),
3837         (gst_bin_query):
3838         Some doc and debug updates.
3839         Cache previously requested query DURATION for speed. invalidate
3840         cached duration if element posts a DURATION message.
3841
3842 2005-10-25  Wim Taymans  <wim@fluendo.com>
3843
3844         * docs/design/part-TODO.txt:
3845         Update TODO.
3846
3847         * gst/gstbin.c: (message_check), (bin_replace_message),
3848         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3849         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3850         (bin_query_duration_init), (bin_query_duration_fold),
3851         (bin_query_duration_done), (bin_query_generic_fold),
3852         (gst_bin_query):
3853         Handle SEGMENT_START/DONE messages correctly.
3854         More evolved query algorithm that handles duration queries
3855         correctly.
3856
3857         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3858         (gst_element_get_state_func), (gst_element_abort_state),
3859         (gst_element_commit_state), (gst_element_lost_state):
3860         Some more debugging.
3861
3862         * gst/gstmessage.h:
3863         Added doc.
3864
3865 2005-10-25  Wim Taymans  <wim@fluendo.com>
3866
3867         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3868         Don't use invalid stream_time.
3869
3870         * gst/gstevent.c: (gst_event_new_newsegment):
3871         stream_time in newsegment cannot be undefined.
3872
3873 2005-10-24  Wim Taymans  <wim@fluendo.com>
3874
3875         * gst/gstbus.c:
3876         Doc fix.
3877
3878         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3879         (gst_queue_loop):
3880         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3881
3882 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3883
3884         * docs/libs/tmpl/gstdparam.sgml:
3885         * docs/libs/tmpl/gstdplinint.sgml:
3886         * docs/libs/tmpl/gstdpman.sgml:
3887         * docs/libs/tmpl/gstdpsmooth.sgml:
3888         * docs/libs/tmpl/gstunitconvert.sgml:
3889           these are obsolete
3890
3891 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3892
3893         * configure.ac:
3894           back to HEAD
3895
3896 === release 0.9.4 ===
3897
3898 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3899
3900         * configure.ac:
3901           releasing 0.9.4, "Tyrannosaurus Rex"
3902
3903 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3904
3905         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3906         (gst_file_sink_get_current_offset):
3907           Use fseeko() and ftello() if available. When falling back on
3908           lseek() to get the current offset, fflush() first to make sure
3909           everything is up-to-date and we get the right offset.
3910
3911 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3912
3913         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3914         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3915         * gst/gsterror.c: (_gst_stream_errors_init):
3916         * gst/gsterror.h:
3917         * gst/gstqueue.c: (gst_queue_loop):
3918         * po/POTFILES.in:
3919           remove prematurely added error category and clean up the instances
3920
3921 2005-10-21  Wim Taymans  <wim@fluendo.com>
3922
3923         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3924         (gst_base_sink_get_position), (gst_base_sink_query),
3925         (gst_base_sink_change_state):
3926         Simply set the right flag when going to playing, that's all
3927         we need to do instead of calling a function inside the object
3928         lock (that could take the lock as well and deadlock)
3929
3930 2005-10-21  Wim Taymans  <wim@fluendo.com>
3931
3932         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3933         (gst_base_src_loop):
3934         Don't warn, the peer element knows what to do best when
3935         the seek failed, it might try something else.
3936
3937 2005-10-21  Wim Taymans  <wim@fluendo.com>
3938
3939         * gst/base/gstbasesrc.c: (gst_base_src_init),
3940         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3941         Fix seeking.
3942
3943 2005-10-21  Wim Taymans  <wim@fluendo.com>
3944
3945         * docs/design/part-segments.txt:
3946         More docs.
3947
3948         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3949         Correctly set caps, even on the subbufer.
3950
3951 2005-10-21  Wim Taymans  <wim@fluendo.com>
3952
3953         * docs/gst/gstreamer-docs.sgml:
3954         * docs/gst/gstreamer-sections.txt:
3955         * gst/gstelement.h:
3956         * gst/gstevent.c:
3957         * gst/gstevent.h:
3958         * gst/gstmessage.h:
3959         * gst/gstpad.h:
3960         * gst/gstparse.h:
3961         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3962         * gst/gsttask.h:
3963         * gst/gstutils.c:
3964         * gst/gstutils.h:
3965         And 2% more doc coverage.
3966
3967 2005-10-21  Andy Wingo  <wingo@pobox.com>
3968
3969         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3970         position reporting.
3971
3972 2005-10-20  Wim Taymans  <wim@fluendo.com>
3973
3974         * gst/gsterror.c: (gst_error_get_message):
3975         * gst/gstparse.h:
3976         * gst/gstquery.h:
3977         * gst/gststructure.c:
3978         * gst/gsttrace.c:
3979         * gst/gstutils.c:
3980         More docs.
3981
3982 2005-10-20  Wim Taymans  <wim@fluendo.com>
3983
3984         * gst/gstbuffer.h:
3985         * gst/gstpad.c:
3986         * gst/gstparse.c:
3987         Another 1% more coverage.
3988
3989 2005-10-20  Wim Taymans  <wim@fluendo.com>
3990
3991         * docs/gst/gstreamer-sections.txt:
3992         * gst/gstelement.c: (gst_element_get_state_func),
3993         (gst_element_abort_state), (gst_element_commit_state),
3994         (gst_element_lost_state):
3995         * gst/gstevent.h:
3996         * gst/gstquery.c: (gst_query_set_position),
3997         (gst_query_parse_position), (gst_query_set_duration),
3998         (gst_query_parse_duration), (gst_query_new_convert):
3999         * gst/gstutils.c:
4000         Yay! 1% more docs coverage.
4001
4002 2005-10-20  Wim Taymans  <wim@fluendo.com>
4003
4004         * gst/gstpad.h:
4005         * gst/gstquery.c: (gst_query_set_position),
4006         (gst_query_parse_position), (gst_query_set_duration),
4007         (gst_query_parse_duration), (gst_query_new_convert):
4008         * gst/gstquery.h:
4009         * gst/gstutils.c: (gst_element_query_convert):
4010         * gst/gstutils.h:
4011         Docs and consistency fixes.
4012
4013 2005-10-20  Wim Taymans  <wim@fluendo.com>
4014
4015         * gst/gsttask.c:
4016         * gst/gsttask.h:
4017         More docs.
4018
4019 2005-10-20  Wim Taymans  <wim@fluendo.com>
4020
4021         * gst/gstbin.c: (message_check), (bin_replace_message),
4022         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4023         (update_degree), (gst_bin_sort_iterator_next),
4024         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4025         Reworked the message handling a bit, cache the messages instead of
4026         only the senders. alows us to do more in the future.
4027
4028 2005-10-20  Wim Taymans  <wim@fluendo.com>
4029
4030         * docs/design/part-TODO.txt:
4031         Update TODO
4032
4033         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4034         (gst_base_sink_query):
4035         Don't use clock time to report position when in EOS.
4036
4037 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4038
4039         * tools/gst-inspect.c: (print_interfaces),
4040         (print_element_properties_info), (print_element_info):
4041           Fix interface output with gst-inspect -a; don't print
4042           newlines after double/float properties.
4043
4044 2005-10-20  Wim Taymans  <wim@fluendo.com>
4045
4046         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4047         (gst_base_sink_query):
4048         Speed up current position calculation.
4049
4050         * gst/base/gstbasesrc.c: (gst_base_src_query),
4051         (gst_base_src_default_newsegment):
4052         Correctly set stream position in newsegment.
4053
4054         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4055         (update_degree), (gst_bin_sort_iterator_next),
4056         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4057         * gst/gstmessage.c: (gst_message_new_custom):
4058         Clean up debugging info
4059
4060         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4061         (gst_queue_loop), (gst_queue_handle_src_query):
4062         Pause task faster.
4063
4064 2005-10-19  Wim Taymans  <wim@fluendo.com>
4065
4066         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4067         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4068         Fix query handling again.
4069
4070 2005-10-19  Wim Taymans  <wim@fluendo.com>
4071
4072         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4073         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4074         * gst/base/gstbasesrc.c: (gst_base_src_query):
4075         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4076         * gst/elements/gsttypefindelement.c:
4077         (gst_type_find_handle_src_query), (find_element_get_length),
4078         (gst_type_find_element_activate):
4079         API change fix.
4080
4081         * gst/gstquery.c: (gst_query_new_position),
4082         (gst_query_set_position), (gst_query_parse_position),
4083         (gst_query_new_duration), (gst_query_set_duration),
4084         (gst_query_parse_duration), (gst_query_set_segment),
4085         (gst_query_parse_segment):
4086         * gst/gstquery.h:
4087         Bundling query position/duration is not a good idea since duration
4088         does not change much and we don't want to recalculate it for every
4089         position query, so they are separated again..
4090         Base value in segment query is not needed.
4091
4092         * gst/gstqueue.c: (gst_queue_handle_src_query):
4093         * gst/gstutils.c: (gst_element_query_position),
4094         (gst_element_query_duration), (gst_pad_query_position),
4095         (gst_pad_query_duration):
4096         * gst/gstutils.h:
4097         Updates for query API change.
4098         Added some docs here and there.
4099
4100 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4101
4102         * check/gst/gstbin.c: (GST_START_TEST):
4103         * check/gst/gstghostpad.c: (GST_START_TEST):
4104         * check/pipelines/cleanup.c: (GST_START_TEST):
4105           wait on thread to die so we can check refcount correctly
4106
4107 2005-10-18  Wim Taymans  <wim@fluendo.com>
4108
4109         * check/pipelines/stress.c: (GST_START_TEST):
4110         Make check a little more time consuming.
4111
4112 2005-10-18  Wim Taymans  <wim@fluendo.com>
4113
4114         * check/Makefile.am:
4115         * check/pipelines/stress.c: (GST_START_TEST),
4116         (simple_launch_lines_suite), (main):
4117         Small state change torture test.
4118
4119         * docs/design/part-states.txt:
4120         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4121         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4122         (gst_base_sink_change_state):
4123         Never take state lock from streaming thread, clean up ugly
4124         hacks. Unfortunatly core does not yet support nice ways to
4125         async commit state.
4126         
4127         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4128         (bin_bus_handler):
4129         Start state recalc if a STATE_DIRTY message is posted, but only
4130         on the toplevel bin.
4131
4132         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4133         (gst_element_get_state_func), (gst_element_abort_state),
4134         (gst_element_commit_state), (gst_element_lost_state),
4135         (gst_element_set_state_func), (gst_element_change_state):
4136         * gst/gstelement.h:
4137         State variables are now protected with the LOCK, the state
4138         lock is only used to serialize _set_state().
4139
4140 2005-10-18  Wim Taymans  <wim@fluendo.com>
4141
4142         * check/gst/gstbin.c: (GST_START_TEST):
4143         * check/gst/gstmessage.c: (GST_START_TEST):
4144         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4145         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4146         (bin_bus_handler):
4147         * gst/gstelement.c: (gst_element_abort_state),
4148         (gst_element_commit_state), (gst_element_lost_state):
4149         * gst/gstmessage.c: (gst_message_new_state_changed),
4150         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4151         (gst_message_new_segment_done), (gst_message_new_duration),
4152         (gst_message_parse_state_changed),
4153         (gst_message_parse_segment_start),
4154         (gst_message_parse_segment_done), (gst_message_parse_duration):
4155         * gst/gstmessage.h:
4156         * tools/gst-launch.c: (event_loop):
4157         Seriously, this is better than a previous commit as we only need
4158         to notify the fact that an element changed state in a streaming
4159         thread, marking the state of the parents dirty, hence the 
4160         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4161         message.
4162
4163 2005-10-18  Wim Taymans  <wim@fluendo.com>
4164
4165         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4166         (gst_bin_recalc_func):
4167         * gst/gstelement.c: (gst_element_set_clock),
4168         (gst_element_abort_state), (gst_element_lost_state):
4169         Cleanups, prepare for state change fixes.
4170
4171 2005-10-18  Wim Taymans  <wim@fluendo.com>
4172
4173         * gst/gstbin.h:
4174         * gst/gstelement.c: (gst_element_class_init),
4175         (gst_element_set_state), (gst_element_set_state_func):
4176         * gst/gstelement.h:
4177         Pending ABI changes.
4178         GThreadPool in GstBinClass to monitor async state changes.
4179         state_cookie in GstElement to detect concurrent gst/set state.
4180         set_state is now virtual too in case a very complicated element
4181         has to be constructed.
4182
4183 2005-10-18  Wim Taymans  <wim@fluendo.com>
4184
4185         * check/gst/gstbin.c: (GST_START_TEST):
4186         * check/gst/gstmessage.c: (GST_START_TEST):
4187         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4188         * gst/gstbin.c: (bin_bus_handler):
4189         * gst/gstelement.c: (gst_element_commit_state),
4190         (gst_element_lost_state):
4191         * gst/gstmessage.c: (gst_message_new_state_changed),
4192         (gst_message_new_segment_start), (gst_message_new_segment_done),
4193         (gst_message_new_duration), (gst_message_parse_state_changed),
4194         (gst_message_parse_segment_start),
4195         (gst_message_parse_segment_done), (gst_message_parse_duration):
4196         * gst/gstmessage.h:
4197         * tools/gst-launch.c: (event_loop):
4198         Make messages future proof.
4199         state-change gets a flag if it was a message comming from the
4200         streaming thread.
4201         segment-start/stop can also be specified in other formats.
4202         A message to notify an app that a pipeline changed playback 
4203         duration.
4204         Also fix a GstMessage leak in -launch
4205
4206 2005-10-18  Andy Wingo  <wingo@pobox.com>
4207
4208         * gst/gstelement.c (gst_element_dispose): More helpful message.
4209
4210 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4211
4212         reviewed by: <delete if not using a buddy>
4213
4214         * common/gtk-doc.mak:
4215
4216 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4217
4218         * gst/gstregistry.c: (gst_registry_scan_path_level):
4219           unref a plug-in we get that was already initialized
4220
4221 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4222
4223         * docs/gst/gstreamer-sections.txt:
4224         * docs/libs/gstreamer-libs-sections.txt:
4225         * gst/gstelement.h:
4226           add new api entries
4227           hide internal macro
4228
4229 2005-10-17  Andy Wingo  <wingo@pobox.com>
4230
4231         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4232         cleanup.
4233
4234         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4235
4236         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4237
4238         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4239         (gst_element_get_state_func): Better debug message.
4240         (gst_element_commit_state): s/INFO/DEBUG/.
4241         (gst_element_lost_state, gst_element_change_state): 
4242
4243         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4244         (gst_message_new_custom): s/INFO/LOG/.
4245
4246 2005-10-17  Michael Smith <msmith@fluendo.com>
4247
4248         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4249           Check if end time is valid using end time, not start time.
4250
4251 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4252
4253         * check/gst-libs/controller.c: (GST_START_TEST),
4254         (gst_controller_suite):
4255         * libs/gst/controller/gstcontroller.c:
4256         (gst_controlled_property_set_interpolation_mode):
4257         * libs/gst/controller/gstcontroller.h:
4258         * libs/gst/controller/gstinterpolation.c:
4259         * testsuite/controller/.cvsignore:
4260         * testsuite/controller/Makefile.am:
4261         * testsuite/controller/interpolator.c:
4262           merge controller testsuites
4263           fix broken tests
4264           remove mem-chunk from docs
4265
4266 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4267
4268         * gst/gstmemchunk.c:
4269         * gst/gstmemchunk.h:
4270         * gst/gsttrashstack.c:
4271         * gst/gsttrashstack.h:
4272           out.  get out.  you're fired.  to the Attic !
4273
4274 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4275
4276         * gst/gstcaps.c: (gst_caps_intersect):
4277           fix signedness issues in a (hopefully) correct way
4278         * gst/gstelement.c: (gst_element_pads_activate):
4279           some debugging
4280         * gst/gstobject.c: (gst_object_set_parent):
4281           some debugging
4282
4283 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4284
4285         * gst/gstvalue.h: Fix prototypes.
4286
4287 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4288
4289         * docs/gst/gstreamer-sections.txt:
4290         * gst/gst.c: (gst_version_string):
4291         * gst/gst.h:
4292         * gst/gstversion.h.in:
4293         * win32/common/libgstreamer.def:
4294           add gst_version_string ()
4295
4296 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4297
4298         * configure.ac:
4299           clean up further
4300         * gst/gst.c: (init_post):
4301         * win32/common/config.h.in:
4302           it's PLUGINDIR now
4303         * gst/gstcaps.c: (gst_caps_intersect):
4304           use gint64, the range could be bigger than a guint
4305
4306 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4307
4308         * gst/gstclock.h:
4309           document potential problem in 2038
4310
4311 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4312
4313         * gst/gstcaps.c: (gst_caps_intersect):
4314           Fix guint j diving under 0
4315
4316 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4317
4318         * configure.ac:
4319         * win32/common/config.h:
4320         * win32/common/config.h.in:
4321           check for process.h, declares getpid() on Windows
4322         * gst/gstinfo.c:
4323           include process.h if we have it
4324         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4325         * gst/gstmemchunk.h:
4326           fix signedness issues
4327         * win32/common/libgstreamer.def:
4328           fix get_type's
4329
4330 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4331
4332         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4333         fix. Because of unsigned ints, caps intersection was going nuts and
4334         trying to access structures with G_MAXUINT index. That fixes
4335         videotestsrc ! ffmpegcolorspace ! fakesink
4336         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4337         consistency.
4338
4339 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4340
4341         * configure.ac:
4342           use the gettext macro
4343         * gst/elements/gstelements.c:
4344         * gst/gst.c:
4345         * gst/indexers/gstindexers.c:
4346           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4347         * win32/common/config.h:
4348           updated config.h
4349         * win32/common/config.h.in:
4350           add the template to generate config.h
4351         * win32/common/gstenumtypes.c:
4352         * win32/common/gstversion.h:
4353           updated copies
4354
4355 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * gst/gst.c: (gst_version):
4358         * gst/gstversion.h.in:
4359           add the nano
4360
4361 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4362
4363         * gst/gstevent.h:
4364           Oops, add missing closing bracket.
4365
4366 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * configure.ac:
4369           use common m4's for argument checking
4370
4371 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4372
4373         * docs/gst/gstreamer-sections.txt:
4374         * gst/gstevent.h:
4375           Add GST_EVENT_TYPE_NAME() macro.
4376
4377 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4378
4379         * gst/gstinfo.c:
4380         * gst/gstpluginfeature.c:
4381         * gst/gsttask.c:
4382           privatize more symbols
4383
4384 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4385
4386         * configure.ac:
4387           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4388           everything that uses GStreamer API should have the includes
4389
4390 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4391
4392         * docs/gst/gstreamer-sections.txt:
4393         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4394         * gst/gstvalue.h:
4395           give each value a _get_type, removes the DATA exports
4396
4397 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4398
4399         * gst/gst.c:
4400         * gst/gst.h:
4401           remove _gst_registry_auto_load, not used anymore
4402         * gst/gstbin.c: (gst_bin_get_type):
4403         * gst/gstbin.h:
4404         * gst/gstelement.c: (gst_element_get_type):
4405         * gst/gstelement.h:
4406         * gst/gstobject.c: (gst_object_get_type):
4407         * gst/gstobject.h:
4408         * gst/gstpad.c: (gst_pad_get_type):
4409         * gst/gstpad.h:
4410           make _get_type functions similar, fixes data export from library
4411
4412 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4413
4414         * configure.ac:
4415           correctly make conditionals
4416         * gst/elements/Makefile.am:
4417         * gst/elements/gstelements.c:
4418           fix typo causing fdsrc not to build
4419
4420 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4421
4422         * testsuite/Makefile.am:
4423         * testsuite/bytestream/.cvsignore:
4424         * testsuite/bytestream/Makefile.am:
4425         * testsuite/bytestream/filepadsink.c:
4426         * testsuite/bytestream/gstbstest.c:
4427         * testsuite/bytestream/test1.c:
4428         * testsuite/bytestream/testfile1:
4429         * testsuite/caps/normalisation.c:
4430         * testsuite/caps/random.c: (main):
4431         * testsuite/cleanup/.cvsignore:
4432         * testsuite/cleanup/Makefile.am:
4433         * testsuite/cleanup/cleanup1.c:
4434         * testsuite/cleanup/cleanup2.c:
4435         * testsuite/cleanup/cleanup3.c:
4436         * testsuite/cleanup/cleanup4.c:
4437         * testsuite/cleanup/cleanup5.c:
4438         * testsuite/controller/interpolator.c:
4439         * testsuite/debug/printf_extension.c: (main):
4440         * testsuite/elements/tee.c:
4441         * testsuite/negotiation/.cvsignore:
4442         * testsuite/negotiation/Makefile.am:
4443         * testsuite/negotiation/pad_link.c:
4444         * testsuite/pad/Makefile.am:
4445         * testsuite/pad/chainnopull.c:
4446         * testsuite/pad/getnopush.c:
4447         * testsuite/pad/link.c:
4448         * testsuite/refcounting/sched.c: (create_pipeline):
4449         * testsuite/registry/Makefile.am:
4450         * testsuite/registry/gst-print-formats.c:
4451         * testsuite/schedulers/.cvsignore:
4452         * testsuite/schedulers/142183-2.c:
4453         * testsuite/schedulers/142183.c:
4454         * testsuite/schedulers/143777-2.c:
4455         * testsuite/schedulers/143777.c:
4456         * testsuite/schedulers/147713.c:
4457         * testsuite/schedulers/147819.c:
4458         * testsuite/schedulers/147894-2.c:
4459         * testsuite/schedulers/147894.c:
4460         * testsuite/schedulers/Makefile.am:
4461         * testsuite/schedulers/group_link.c:
4462         * testsuite/schedulers/queue_link.c:
4463         * testsuite/schedulers/relink.c:
4464         * testsuite/schedulers/unlink.c:
4465         * testsuite/schedulers/unref.c:
4466         * testsuite/schedulers/useless_iteration.c:
4467         * testsuite/states/bin.c:
4468           clean out/remove some stuff from the testsuite directories
4469
4470 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4471
4472         * configure.ac:
4473           check for some headers
4474         * gst/elements/Makefile.am:
4475         * gst/elements/gstelements.c:
4476           don't compile fdsrc without sys/socket.h
4477         * gst/indexers/Makefile.am:
4478         * gst/indexers/gstindexers.c: (plugin_init):
4479           don't compile fileindex without mmap
4480
4481 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4482
4483         * configure.ac:
4484           reorganize
4485           clean up
4486           document more
4487           remove cruft
4488         * check/Makefile.am:
4489         * docs/gst/Makefile.am:
4490         * examples/helloworld/Makefile.am:
4491         * gst/Makefile.am:
4492         * gst/base/Makefile.am:
4493         * gst/check/Makefile.am:
4494         * gst/elements/Makefile.am:
4495         * gst/indexers/Makefile.am:
4496         * gst/parse/Makefile.am:
4497         * libs/gst/controller/Makefile.am:
4498         * libs/gst/dataprotocol/Makefile.am:
4499         * examples/helloworld/helloworld.c: (event_loop):
4500           compile fixes, though it's not being compiled currently
4501
4502 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4505           Add some simple tests for the new taglist date API.
4506
4507 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4508
4509         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4510         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4511           Beautify 'last-message' output: print 'none' for buffer timestamps
4512           and durations if none is set; improve alignment with next messages.
4513
4514 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4515
4516         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4517         * gst/gstpluginfeature.h:
4518         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4519         * gst/gstregistry.h:
4520         * docs/gst/gstreamer-sections.txt:
4521           Add new API to check plugin feature version requirements.
4522
4523         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4524           Some basic tests for the above.         
4525
4526 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4527
4528         * gst/gststructure.c: (gst_structure_to_string):
4529           guard against NULL printf - happens when for example
4530           a message structure with GstClock gets serialized
4531
4532 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4533
4534         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4535           Fix presumable copy'n'pasto.
4536
4537 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4538
4539         * gst/elements/gstfakesrc.h:
4540         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4541         * gst/elements/gsttypefindelement.c:
4542           fix some signedness
4543         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4544           I wonder if this could actually write +2GB files before
4545
4546 2005-10-13  Andy Wingo  <wingo@pobox.com>
4547
4548         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4549         Fix Timmeke Waymans bug.
4550         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4551         string of the proper length to gst_caps_from_string. There's a
4552         potential for, before this fix, that this could cause someone
4553         connecting over the network to cause a segfault if the payload is
4554         not NUL-terminated.
4555
4556 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4557
4558         * docs/design/draft-push-pull.txt:
4559         * docs/design/part-overview.txt:
4560         * docs/random/TODO-pre-0.9:
4561         * docs/random/old/ChangeLog.gstreamer:
4562         * gst/base/gstpushsrc.c:
4563         * gst/gstclock.c:
4564           fixed typos
4565
4566 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4567
4568         * gst/glib-compat.c: (gst_flags_get_first_value):
4569         * gst/glib-compat.h:
4570         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4571         (gst_value_compare_double), (gst_value_serialize_flags):
4572           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4573           infinite loop
4574
4575 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4576
4577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4578         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4579           fix up debugging
4580         * tools/gst-launch.c: (event_loop):
4581           print out clock nicely
4582
4583 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4584
4585         * docs/gst/gstreamer-sections.txt:
4586         * gst/gsttaglist.h:
4587         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4588         (gst_tag_list_get_date_index):
4589           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4590           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4591
4592 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4593
4594         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4595         (gst_collectpads_chain):
4596         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4597         in CollectData.
4598
4599 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4600
4601         * docs/gst/gstreamer-sections.txt:
4602         * gst/gst.c:
4603         * gst/gsterror.h:
4604         * tools/gst-inspect.c: (main):
4605         * tools/gst-launch.c: (main):
4606         * tools/gst-run.c: (main):
4607         * tools/gst-xmlinspect.c: (main):
4608           fix GOption context leaks
4609           doc fixes
4610
4611 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4612
4613         * gst/gstbus.c:
4614           use HAVE_UNISTD_H
4615         * win32/common/config.h:
4616           update config
4617         * win32/vs6/grammar.dsp:
4618         * win32/vs6/libgstelements.dsp:
4619         * win32/vs6/libgstreamer.dsp:
4620           update vs6 files
4621
4622 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4623
4624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4625         * gst/base/gstbasesrc.c: (gst_base_src_query):
4626           fix more guint64<->gdouble conversions
4627
4628 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4629
4630         * Makefile.am:
4631           add win32-update target
4632         * win32/common/gstconfig.h:
4633         * win32/common/gstenumtypes.c:
4634         * win32/common/gstenumtypes.h:
4635         * win32/common/gstversion.h:
4636           add files that visual studio can't generate
4637
4638 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4639
4640         * Makefile.am:
4641           add a win32-update target
4642         * configure.ac:
4643
4644 2005-10-12  Wim Taymans  <wim@fluendo.com>
4645
4646         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4647         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4648         * gst/gstelement.c: (gst_element_commit_state),
4649         (gst_element_set_state):
4650         Protect flags with proper lock.
4651         unref provided cached clock in dispose.
4652
4653 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4654
4655         * gst/gst.c:
4656         * gst/gstminiobject.h:
4657         * gst/gstpad.h:
4658         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4659           removed unused flags from miniobject
4660           doc fixes
4661
4662 2005-10-12  Wim Taymans  <wim@fluendo.com>
4663
4664         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4665         (gst_file_sink_event), (gst_file_sink_render):
4666         Flush before seeking.
4667
4668 2005-10-12  Andy Wingo  <wingo@pobox.com>
4669
4670         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4671         always been the case.
4672
4673 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4674
4675         * check/gst/gstbin.c: (GST_START_TEST):
4676         * docs/gst/gstreamer-sections.txt:
4677         * gst/base/gstbasesink.c: (gst_base_sink_init):
4678         * gst/base/gstbasesrc.c: (gst_base_src_init),
4679         (gst_base_src_get_range), (gst_base_src_check_get_range),
4680         (gst_base_src_start), (gst_base_src_stop):
4681         * gst/base/gstbasesrc.h:
4682         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4683         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4684         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4685         (bin_bus_handler):
4686         * gst/gstbin.h:
4687         * gst/gstbuffer.h:
4688         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4689         * gst/gstbus.h:
4690         * gst/gstelement.c: (gst_element_is_locked_state),
4691         (gst_element_set_locked_state), (gst_element_commit_state),
4692         (gst_element_set_state):
4693         * gst/gstelement.h:
4694         * gst/gstindex.c: (gst_index_init):
4695         * gst/gstindex.h:
4696         * gst/gstminiobject.h:
4697         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4698         (gst_object_set_parent):
4699         * gst/gstobject.h:
4700         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4701         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4702         * gst/gstpad.h:
4703         * gst/gstpadtemplate.h:
4704         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4705         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4706         * gst/gstpipeline.h:
4707         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4708         (gst_file_index_commit):
4709         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4710         * testsuite/pad/link.c: (gst_test_src_init),
4711         (gst_test_filter_init), (gst_test_sink_init):
4712         * testsuite/states/locked.c: (main):
4713           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4714           moved bitshift from macro to enum definition
4715
4716 2005-10-12  Wim Taymans  <wim@fluendo.com>
4717
4718         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4719         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4720         (gst_file_sink_render):
4721         Some more debugging info.
4722
4723 2005-10-12  Wim Taymans  <wim@fluendo.com>
4724
4725         * docs/design/part-states.txt:
4726         * tools/gst-launch.c: (main):
4727         Some doc updates.
4728         Revert non-intentional change.
4729
4730 2005-10-12  Wim Taymans  <wim@fluendo.com>
4731
4732         * check/gst/gstbin.c: (GST_START_TEST):
4733         * check/gst/gstelement.c: (GST_START_TEST):
4734         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4735         * check/gst/gstghostpad.c: (GST_START_TEST):
4736         * check/gst/gstpipeline.c: (GST_START_TEST):
4737         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4738         * check/states/sinks.c: (GST_START_TEST):
4739         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4740         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4741         (gst_bin_remove_func), (gst_bin_get_state_func),
4742         (gst_bin_recalc_state), (gst_bin_change_state_func),
4743         (bin_bus_handler):
4744         * gst/gstelement.c: (gst_element_get_state_func),
4745         (gst_element_get_state), (gst_element_abort_state),
4746         (gst_element_commit_state), (gst_element_set_state),
4747         (gst_element_change_state), (gst_element_change_state_func):
4748         * gst/gstelement.h:
4749         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4750         (gst_pipeline_provide_clock_func):
4751         * gst/gstutils.c: (gst_element_link_pads_filtered):
4752         * tools/gst-launch.c: (main):
4753         * tools/gst-typefind.c: (main):
4754         Use GstClockTime in _get_state() instead of GTimeVal.
4755         Remove old code in gstutils.c
4756
4757 2005-10-12  Andy Wingo  <wingo@pobox.com>
4758
4759         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4760         removed.
4761
4762         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4763         there is no task. Shouldn't affect any code, as nothing in our
4764         plugins checks this return value.
4765         (gst_pad_stop_task): Also take the stream lock if the pad has no
4766         task. Docs updated.
4767
4768 2005-10-12  Wim Taymans  <wim@fluendo.com>
4769
4770         * gst/gstpad.c: (pre_activate), (post_activate),
4771         (gst_pad_activate_pull), (gst_pad_activate_push):
4772         Cleanup activation code. Reset old state if
4773         activation failed.
4774
4775 2005-10-12  Wim Taymans  <wim@fluendo.com>
4776
4777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4778         (gst_base_sink_change_state):
4779         No need to prerol after receiving EOS.
4780
4781         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4782         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4783         * gst/elements/gstidentity.c: (gst_identity_event):
4784         Print events more verbosely.
4785
4786 2005-10-12  Wim Taymans  <wim@fluendo.com>
4787
4788         * check/Makefile.am:
4789         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4790         * check/states/sinks2.c:
4791         Moved sinks2 testcode in sinks check.
4792
4793         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4794         (gst_bin_remove_func), (gst_bin_recalc_state),
4795         (gst_bin_change_state_func), (bin_bus_handler):
4796         Fix potential race condition when _get_state() iterated over an
4797         ASYNC element right before it posted a state completion.
4798
4799         * gst/gstclock.h:
4800         Do proper cast here.
4801
4802         * gst/gstevent.c: (gst_event_new_newsegment),
4803         (gst_event_parse_newsegment):
4804         A playback rate of 0.0 is not allowed.
4805
4806 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4807
4808         * win32/common/config.h:
4809         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4810         (_trewinddir), (_ttelldir), (_tseekdir):
4811         * win32/common/dirent.h:
4812         * win32/common/gtchar.h:
4813         * win32/common/libgstbase.def:
4814         * win32/common/libgstreamer.def:
4815         * win32/vs6/grammar.dsp:
4816         * win32/vs6/gst_inspect.dsp:
4817         * win32/vs6/gst_launch.dsp:
4818         * win32/vs6/gstreamer.dsw:
4819         * win32/vs6/libgstbase.dsp:
4820         * win32/vs6/libgstelements.dsp:
4821         * win32/vs6/libgstreamer.dsp:
4822           Visual Studio 6 project files, and a new common directory.
4823           Phear.
4824
4825 2005-10-11  Wim Taymans  <wim@fluendo.com>
4826
4827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4828         (gst_base_sink_do_sync), (gst_base_sink_query),
4829         (gst_base_sink_change_state):
4830         * gst/base/gstbasesink.h:
4831         Correctly parse newsegment info.
4832
4833 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4834
4835         * gst/gst.c: (init_post):
4836           split plugin paths correctly
4837
4838 2005-10-11  Wim Taymans  <wim@fluendo.com>
4839
4840         * check/gst/gstevent.c: (GST_START_TEST):
4841         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4842         (gst_base_sink_change_state):
4843         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4844         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4845         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4846         * gst/gstevent.c: (gst_event_new_newsegment),
4847         (gst_event_parse_newsegment):
4848         * gst/gstevent.h:
4849         Added extra flag to newsegment for future API freeze.
4850         Updated check and base elements.
4851
4852 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4853
4854         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4855         (gst_collectpads_add_pad), (gst_collectpads_pop),
4856         (gst_collectpads_event), (gst_collectpads_chain):
4857         * gst/base/gstcollectpads.h: Handle EOS correctly.
4858
4859 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4860
4861         * tools/gst-launch.c: (main):
4862           more null protecting
4863
4864 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         * gst/gst-i18n-lib.h:
4867           check for ENABLE_NLS, not GETTEXT_PACKAGE
4868         * gst/gstregistry.c: (gst_registry_add_plugin),
4869         (gst_registry_scan_path_level),
4870         (_gst_registry_remove_cache_plugins):
4871           protect possibly NULL strings
4872         * gst/parse/types.h:
4873           config.h already included before
4874         * tools/gst-inspect.c: (main):
4875           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4876           check for ENABLE_NLS, not GETTEXT_PACKAGE
4877         * tools/gst-launch.c: (main):
4878           check for ENABLE_NLS, not GETTEXT_PACKAGE
4879
4880 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4881
4882         * configure.ac:
4883           if we don't have glib, fail before testing 2.8
4884         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4885           fix a leak, should fix plugins-base testsuite
4886
4887 2005-10-11  Andy Wingo  <wingo@pobox.com>
4888
4889         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4890         take the mode we're going to as an arg. Go head and set the mode
4891         and flushing flags now, so that if the activate function starts a
4892         thread all the flags will be in the right state.
4893         (post_activate): Renamed also. Just handle making sure streaming
4894         finishes for the deactivation case, and setting the deactivated
4895         mode.
4896         (gst_pad_set_active): Complain loudly if deactivation fails.
4897         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4898         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4899         remove the terrible hack.
4900
4901 2005-10-11  Wim Taymans  <wim@fluendo.com>
4902
4903         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4904         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4905         (gst_bin_recalc_state), (gst_bin_change_state_func),
4906         (gst_bin_dispose), (bin_bus_handler):
4907         * gst/gstbin.h:
4908         Prepare to make current EOS message queue more generic.
4909         Fix some typos.
4910
4911         * gst/gstevent.c: (gst_event_new_newsegment),
4912         (gst_event_parse_newsegment):
4913         * gst/gstevent.h:
4914         Rename base to stream_time.
4915
4916         * gst/gstmessage.h:
4917         Fix typo in docs.
4918
4919 2005-10-11  Wim Taymans  <wim@fluendo.com>
4920
4921         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4922         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4923         (gst_bin_change_state_func), (bin_bus_handler):
4924         * gst/gstbin.h:
4925         Work on proper clock selection.
4926
4927 2005-10-11  Edward Hervey  <edward@fluendo.com>
4928
4929         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4930         * libs/gst/controller/gstcontroller.h:
4931         Added GList* version of _remove_properties() in order to be able to wrap
4932         it in bindings.
4933
4934 2005-10-11  Wim Taymans  <wim@fluendo.com>
4935
4936         * docs/design/part-states.txt:
4937         Some more docs.
4938
4939         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4940         (gst_bin_change_state_func), (bin_bus_handler):
4941         Doc updates. Don't distribute the same clock over and over again.
4942
4943         * gst/gstclock.c:
4944         * gst/gstclock.h:
4945         Doc updates.
4946
4947         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4948         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4949         (gst_pad_send_event):
4950         * gst/gstpad.h:
4951         Make probe emission threadsafe again.
4952         Register quarks and move _get_name() from utils.
4953         Doc updates.
4954
4955         * gst/gstpipeline.c: (gst_pipeline_class_init),
4956         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4957         Only redistribute the clock of it changed.
4958
4959         * gst/gstsystemclock.h:
4960         Doc updates. 
4961
4962         * gst/gstutils.c:
4963         * gst/gstutils.h:
4964         Moved the _flow_get_name() to GstPad.
4965
4966 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4967
4968         * check/gst-libs/gdp.c: (GST_START_TEST):
4969         * check/gst/gstcaps.c: (GST_START_TEST):
4970         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4971         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4972         (gst_dp_packet_from_caps):
4973           fix more valgrind warnings before turning up the heat
4974
4975 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4976
4977         * gst/parse/grammar.y:
4978           some cleanup before the hacking
4979
4980 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4981
4982         * gst/base/gstbasesrc.c: (gst_base_src_query):
4983           use conversions
4984         * gst/gstutils.c: (gst_guint64_to_gdouble),
4985         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4986         * gst/gstutils.h:
4987           externalize, basesrc uses it
4988           obviously the implementation needs testing
4989
4990 2005-10-10  Wim Taymans  <wim@fluendo.com>
4991
4992         * tests/sched/Makefile.am:
4993         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4994         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4995
4996 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4997
4998         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4999           apparently converting from guint64 to double is not implemented
5000           on MSVC
5001
5002 2005-10-10  Wim Taymans  <wim@fluendo.com>
5003
5004         * check/Makefile.am:
5005         * check/generic/states.c: (GST_START_TEST):
5006         * check/gst/gstbin.c: (GST_START_TEST):
5007         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5008         * check/states/sinks.c: (GST_START_TEST):
5009         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5010         (main):
5011         Check fixes, use API as stated in design docs, remove hacks.
5012
5013         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5014         (gst_base_sink_change_state):
5015         Catch stopping our task while we're shutting down.
5016
5017         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5018         (gst_bin_remove_func), (gst_bin_get_state_func),
5019         (gst_bin_recalc_state), (gst_bin_change_state_func),
5020         (bin_bus_handler):
5021         * gst/gstbin.h:
5022         * gst/gstelement.c: (gst_element_init),
5023         (gst_element_get_state_func), (gst_element_abort_state),
5024         (gst_element_commit_state), (gst_element_lost_state),
5025         (gst_element_set_state), (gst_element_change_state),
5026         (gst_element_change_state_func):
5027         * gst/gstelement.h:
5028         New state change algorithm (see #318116)
5029
5030         * gst/gstpipeline.c: (gst_pipeline_class_init),
5031         (gst_pipeline_init), (gst_pipeline_set_property),
5032         (gst_pipeline_get_property), (do_pipeline_seek),
5033         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5034         * gst/gstpipeline.h:
5035         Remove crude state change hacks.
5036
5037         * gst/gstutils.h:
5038         Remove crude hacks.
5039
5040         * tools/gst-launch.c: (main):
5041         Fixes for state change. Needs some more work to fully use the
5042         new stuff.
5043
5044 2005-10-10  Andy Wingo  <wingo@pobox.com>
5045
5046         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5047
5048         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5049         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5050         issue.
5051
5052 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5053
5054         * gst/gstiterator.c: (gst_iterator_new):
5055           Fix my previous commit: GTypes passed to gst_iterator_new()
5056           can be fundamental types.
5057
5058 2005-10-10  Wim Taymans  <wim@fluendo.com>
5059
5060         * gst/gstelement.c: (gst_element_iterate_pad_list),
5061         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5062         (gst_element_iterate_sink_pads):
5063         Use src/sink pads lists for the respective iterators instead
5064         of filtering.
5065
5066 2005-10-10  Andy Wingo  <wingo@pobox.com>
5067
5068         Merged in popt removal + GOption addition patch from Ronald, bug
5069         #169772.
5070
5071         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5072         GstElement macros around, remove popt-related symbols, add goption
5073         stuff.
5074
5075         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5076         
5077         * docs/gst/Makefile.am:
5078         * docs/libs/Makefile.am: No POPT_CFLAGS.
5079         
5080         * examples/manual/Makefile.am:
5081         * docs/manual/basics-init.xml: Doc updates with an example.
5082         
5083         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5084         (gst_init), (parse_one_option), (parse_goption_arg):
5085         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5086         bit of hand merging and debugging to get the GOption stuff working
5087         tho.
5088         
5089         * tests/Makefile.am:
5090         * tools/Makefile.am:
5091         * tools/gst-inspect.c: (main):
5092         * tools/gst-launch.c: (main):
5093         * tools/gst-run.c: (main):
5094         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5095
5096 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5097
5098         * gst/gstiterator.c: (gst_iterator_new):
5099           Add assertions to make sure passed GType is likely to really
5100           be a GType (as the compiler won't catch it if the size and
5101           GType arguments get mixed up, see #318447).
5102
5103 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5104
5105         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5106
5107         * gst/gstbin.c: (gst_bin_iterate_sorted):
5108           Pass GType and size arguments to gst_iterator_new() in the right
5109           order (maybe we should make _new() take the GType as first argument
5110           just like _new_list()?) (#318447).
5111           
5112
5113 2005-10-10  Wim Taymans  <wim@fluendo.com>
5114
5115         * gst/gstelement.c: (gst_element_finalize):
5116         And free the GStaticRecMutex too
5117
5118 2005-10-10  Andy Wingo  <wingo@pobox.com>
5119
5120         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5121         Allocate and free the mutex properly.
5122
5123         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5124         New macros.
5125         (GstElement): The state_lock is now recursive. Rebuild your
5126         plugins, suckers. Old macros adapted.
5127
5128         * docs/gst/gstreamer-sections.txt: Doc updates.
5129
5130         * gst/gstutils.h:
5131         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5132         (g_static_rec_cond_wait): Ported from state changes patch, while
5133         we wait on bug #317802 to be solved in a well-distributed GLib.
5134
5135         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5136         gst_element_change_state, variable name changes.
5137         (gst_element_change_state): Split out of gst_element_set_state in
5138         preparation for the state change merge. Doesn't pay attention to
5139         the 'transition' argument.
5140         (gst_element_set_state): Updates, hopefully purely cosmetic.
5141         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5142         state change patch.
5143         (gst_element_get_state_func): Renamed from get_state, cosmetic
5144         changes.
5145
5146 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         * gst/elements/gstelements.c:
5149         * win32/GStreamer.vcproj:
5150         * win32/config.h:
5151         * win32/dirent.c: (_tseekdir):
5152         * win32/gst-inspect.vcproj:
5153         * win32/gst-launch.vcproj:
5154         * win32/gstconfig.h:
5155         * win32/gstelements.vcproj:
5156         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5157         * win32/gstreamer.def:
5158         * win32/msvc71.sln:
5159           updates for the win32 build (patch from Sebastien Moutte)
5160
5161 2005-10-10  Andy Wingo  <wingo@pobox.com>
5162
5163         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5164         gst_bin_get_state, cleaned up (but no logic changes).
5165         (bin_element_is_sink): Comment updates.
5166         (sink_iterator_filter): Remove needless cast.
5167         (gst_bin_iterate_sinks): Doc update.
5168         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5169         cleaned up (but no logic changes).
5170
5171         * check/states/sinks.c (test_src_sink): Cleanups from the state
5172         change patch.
5173         (test_livesrc_sink): Sync on the state.
5174
5175         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5176         the state change patch.
5177
5178         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5179         change patch.
5180
5181         * check/gst/gstbin.c: Merge in some style fixes and additional
5182         checks from Wim's state change patch.
5183
5184 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5187         (gst_type_find_helper):
5188           Check whether we have the requested data already in our list of
5189           cached buffers before pulling a new buffer; also make the buffer
5190           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5191
5192 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5193
5194         * gst/gstcaps.c:
5195         * gst/gstevent.c:
5196           doc updates
5197         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5198           don't use long long, it's not portable.  Replacing with
5199           gint64 seems to work; let's hope no skeletons fall out of the closet.
5200
5201 2005-10-10  Andy Wingo  <wingo@pobox.com>
5202
5203         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5204
5205 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5206
5207         * docs/gst/gstreamer-sections.txt:
5208         * gst/gstevent.c:
5209         * gst/gstevent.h:
5210         * gst/gstinfo.c:
5211         * gst/gstinfo.h:
5212         * gst/gstmessage.c: (gst_message_parse_state_changed):
5213         * gst/gstpad.c:
5214         * gst/gstpad.h:
5215           more docs, fix compilation
5216
5217 2005-10-09  Philippe Khalaf <burger@speedy.org>
5218         * gst/gstmessage.c:
5219           Fixed a few forgotten variables on previous commit
5220
5221 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5222
5223         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5224           Fix evil typefind crasher: getrange() might return a short
5225           buffer at the end of a file, but gst_type_find_peek() must
5226           either return the full data as requested or NULL, but
5227           never a short buffer.
5228
5229 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5230
5231         * gst/gstmessage.c: (gst_message_new_state_changed),
5232         (gst_message_parse_state_changed):
5233         * gst/gstmessage.h:
5234           don't use "new", it's a C++ keyword
5235
5236 2005-10-08  Wim Taymans  <wim@fluendo.com>
5237
5238         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5239         * gst/gstelement.c: (gst_element_post_message):
5240         * gst/gstpipeline.c: (gst_pipeline_change_state):
5241         Small docs and debug updates.
5242
5243 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5244
5245         * docs/gst/gstreamer-sections.txt:
5246         * gst/gstelementfactory.c:
5247         * gst/gstevent.c:
5248         * gst/gsttaglist.c:
5249           more docs
5250
5251 2005-10-08  Wim Taymans  <wim@fluendo.com>
5252
5253         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5254         (gst_bin_dispose), (bin_bus_handler):
5255         Fix typos, add comments.
5256         Clear EOS list when going to PAUSED from any direction and do it
5257         in a threadsafe way.
5258         Get base time in a threadsafe way too.
5259         Fix confusing debug in the change_state function.
5260         Various other small cleanups.
5261         
5262         * gst/gstelement.c: (gst_element_post_message):
5263         Fix very verbose bus posting code.
5264
5265         * gst/gstpipeline.c: (gst_pipeline_class_init),
5266         (gst_pipeline_set_property), (gst_pipeline_get_property),
5267         (gst_pipeline_change_state):
5268         Small ARG_ -> PROP_ cleanup
5269
5270 2005-10-08  Wim Taymans  <wim@fluendo.com>
5271
5272         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5273         Do a less CPU demanding EOS check because we can.
5274
5275 2005-10-08  Wim Taymans  <wim@fluendo.com>
5276
5277         * libs/gst/dataprotocol/dataprotocol.c:
5278         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5279         (gst_dp_packet_from_event):
5280         * libs/gst/dataprotocol/dataprotocol.h:
5281         * libs/gst/dataprotocol/dp-private.h:
5282         It's about time we bump the version number.
5283         Since event types don't fit in the guint8 anymore describing
5284         the payload type, make payload type 16 bits wide.
5285
5286 2005-10-08  Wim Taymans  <wim@fluendo.com>
5287
5288         * docs/design/part-TODO.txt:
5289         * docs/design/part-clocks.txt:
5290         * docs/design/part-events.txt:
5291         * docs/design/part-gstbin.txt:
5292         * docs/design/part-gstelement.txt:
5293         * docs/design/part-gstpipeline.txt:
5294         * docs/design/part-live-source.txt:
5295         * docs/design/part-messages.txt:
5296         * docs/design/part-overview.txt:
5297         * docs/design/part-states.txt:
5298         Many doc updates.
5299
5300 2005-10-08  Wim Taymans  <wim@fluendo.com>
5301
5302         * gst/gstevent.c:
5303         * gst/gstevent.h:
5304         Fix event quark registration.
5305         Add some space between events so we can insert them in the
5306         right groups.
5307
5308 2005-10-08  Wim Taymans  <wim@fluendo.com>
5309
5310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5311         (gst_base_sink_handle_buffer):
5312         Better log message.
5313
5314         * gst/gstbus.h:
5315         * gst/gstelement.h:
5316         More docs.
5317
5318         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5319         (gst_queue_set_property), (gst_queue_get_property):
5320         * gst/gstqueue.h:
5321         Remove old unused properties.
5322
5323 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5324         * docs/gst/gstreamer-sections.txt:
5325         * gst/gstmessage.c:
5326         * gst/gstmessage.h:
5327         * gst/gstminiobject.c:
5328         * gst/gstminiobject.h:
5329         * gst/gstobject.h:
5330         * gst/gstpad.h:
5331         * gst/gstutils.h:
5332           lots of new docs and doc fixes
5333
5334 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5335
5336         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5337         * gst/gstplugin.h:
5338         * gst/gstregistry.c: (gst_registry_lookup_locked),
5339         (gst_registry_scan_path_level):
5340         * gst/gstregistryxml.c: (load_plugin):
5341           Only ever load one plugin for a given plugin basename.
5342           This ensures correct overriding of GST_PLUGIN_PATH over
5343           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5344           system installed plugins.
5345
5346 2005-10-08  Wim Taymans  <wim@fluendo.com>
5347
5348         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5349         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5350         Prepare for doing QOS.
5351
5352 2005-10-08  Wim Taymans  <wim@fluendo.com>
5353
5354         * check/gst/gstbin.c: (GST_START_TEST):
5355         * check/pipelines/cleanup.c: (GST_START_TEST):
5356         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5357         Allow new clock message too.
5358
5359 2005-10-08  Wim Taymans  <wim@fluendo.com>
5360
5361         * gst/gstmessage.c: (gst_message_new_error),
5362         (gst_message_new_warning), (gst_message_new_tag),
5363         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5364         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5365         (gst_message_new_segment_start), (gst_message_new_segment_done),
5366         (gst_message_parse_state_changed),
5367         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5368         (gst_message_parse_new_clock):
5369         * gst/gstmessage.h:
5370         Also carry the clock in question.
5371
5372 2005-10-08  Wim Taymans  <wim@fluendo.com>
5373
5374         * gst/gstmessage.c: (gst_message_new_custom),
5375         (gst_message_new_eos), (gst_message_new_error),
5376         (gst_message_new_warning), (gst_message_new_tag),
5377         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5378         (gst_message_new_new_clock), (gst_message_new_segment_start),
5379         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5380         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5381         * gst/gstmessage.h:
5382         Clean up.
5383         Added clock related messages.
5384
5385         * gst/gstpipeline.c: (gst_pipeline_change_state):
5386         Post message when the clock changed.
5387
5388         * tools/gst-launch.c: (event_loop):
5389         Print new clock.
5390
5391 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * tools/gst-inspect.c: (print_element_properties_info):
5394           Can't pass NULL strings to g_print() on windows.
5395
5396 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5397
5398         * docs/Makefile.am:
5399         * docs/gst/Makefile.am:
5400         * docs/gst/gstreamer-docs.sgml:
5401         * docs/gst/running.xml:
5402         * docs/version.entities.in:
5403           add a chapter on running GStreamer.
5404           document GST_DEBUG and GST_PLUGIN* env vars
5405
5406 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5407
5408         * Makefile.am:
5409           remove include dir
5410         * configure.ac:
5411           remove PLUGINS_BUILDDIR stuff
5412         * gst/gst.c: (init_post):
5413           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5414         * idiottest.mak:
5415           remove, it was condescending and not needed
5416
5417 2005-10-08  Wim Taymans  <wim@fluendo.com>
5418
5419         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5420         (gst_base_sink_handle_object), (gst_base_sink_event),
5421         (gst_base_sink_wait), (gst_base_sink_handle_event),
5422         (gst_base_sink_change_state):
5423         * gst/base/gstbasesink.h:
5424         Repost EOS message while going to PLAYING if still EOS.
5425         Make sure that when receiving a FLUSH_START we don't attempt
5426         to sync on the clock anymore.
5427
5428 2005-10-08  Wim Taymans  <wim@fluendo.com>
5429
5430         * tools/gst-launch.c: (event_loop):
5431         Better message printout.
5432
5433 2005-10-08  Wim Taymans  <wim@fluendo.com>
5434
5435         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5436         (gst_bin_child_proxy_get_children_count):
5437         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5438         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5439         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5440         (gst_child_proxy_set_valist):
5441         * gst/parse/grammar.y:
5442         Make ChildProxy threadsafe and fix mem leaks.
5443
5444 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5445
5446         * gst/gst.c: (init_post):
5447           debug the GST_PLUGIN_ env vars
5448
5449 2005-10-08  Wim Taymans  <wim@fluendo.com>
5450
5451         * check/gst/gstbin.c: (GST_START_TEST):
5452         * check/gst/gstmessage.c: (GST_START_TEST):
5453         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5454         * gst/gstelement.c: (gst_element_commit_state),
5455         (gst_element_lost_state):
5456         * gst/gstmessage.c: (gst_message_new_state_changed),
5457         (gst_message_parse_state_changed):
5458         * gst/gstmessage.h:
5459         * tools/gst-launch.c: (event_loop):
5460         Added extra field to STATE_CHANGE message with the pending
5461         state, which will be different from the new state soon.
5462
5463 2005-10-08  Wim Taymans  <wim@fluendo.com>
5464
5465         * gst/gstbus.c: (gst_bus_pop):
5466         * gst/gstclock.c:
5467         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5468         Small cleanups and doc updates.
5469
5470 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5471
5472         * gst/gst.c: (init_pre):
5473         * gst/gstbin.c: (gst_bin_add_func):
5474           log distributing clocks and base time
5475         * gst/gstregistry.c: (gst_registry_add_plugin),
5476         (gst_registry_scan_path_level), (gst_registry_scan_path):
5477           clean up the debugging output a little
5478         * gst/gstutils.c: (gst_element_state_get_name):
5479           warn about a memleak (I've actually seen this be used, though
5480           it was probably a bug)
5481
5482 2005-10-07  Wim Taymans  <wim@fluendo.com>
5483
5484         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5485         (gst_base_src_init), (gst_base_src_default_newsegment),
5486         (gst_base_src_newsegment), (gst_base_src_do_seek),
5487         (gst_base_src_loop), (gst_base_src_start):
5488         * gst/base/gstbasesrc.h:
5489         Make the newsegment event customizable by subclasses.
5490
5491 2005-10-07  Wim Taymans  <wim@fluendo.com>
5492
5493         * gst/gstevent.c: (gst_event_new_buffersize),
5494         (gst_event_parse_buffersize):
5495         * gst/gstevent.h:
5496         New event for future idea.
5497
5498 2005-10-07  Andy Wingo  <wingo@pobox.com>
5499
5500         * gst/gstelement.c (gst_element_post_message): Doc update.
5501
5502         * docs/gst/gstreamer-sections.txt: Update.
5503
5504         * gst/gstmessage.c (gst_message_new_application): Made into a
5505         function like honest API calls.
5506         (gst_message_new_element): New message type.
5507
5508         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5509
5510         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5511         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5512         times.
5513
5514         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5515         NO_PREROLL from gst_element_change_state to fall through.
5516
5517 2005-10-07  Wim Taymans  <wim@fluendo.com>
5518
5519         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5520         (gst_ghost_pad_do_activate_push):
5521         Activating a ghostpad with no internal pad in push mode
5522         is ok.
5523
5524 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * gst/gstobject.h:
5527           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5528           Fixes compilation on Windows.
5529
5530 2005-10-07  Michael Smith <msmith@fluendo.com>
5531
5532         * tools/gst-inspect.c:
5533           Print out feature and plugin count at the end when printing out
5534           all features.
5535
5536 2005-10-04  Michael Smith <msmith@fluendo.com>
5537
5538         * gst/gsterror.c: (_gst_stream_errors_init):
5539           Add another error string used in a few existing plugins.
5540
5541         * gst/gstplugin.c:
5542         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5543         * tools/gst-inspect.c: (print_element_info):
5544           When a feature disappears from a plugin (and the feature exists in
5545           the cached registry file), things went horribly wrong. This isn't a
5546           complete fix, we should actually be removing the 'missing' features
5547           from the features list when we load the actual plugin. That's not
5548           yet implemented. 
5549
5550 2005-10-04  Johan Dahlin  <johan@gnome.org>
5551
5552         * check/gst/gstiterator.c: (GST_START_TEST):
5553         * gst/gstbin.c: (gst_bin_iterate_elements),
5554         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5555         * gst/gstelement.c: (gst_element_iterate_pads):
5556         * gst/gstformat.c: (gst_format_iterate_definitions):
5557         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5558         (gst_iterator_new_list), (gst_iterator_filter):
5559         * gst/gstiterator.h:
5560         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5561         Add a GType to GstIterator, update callsites and tests.
5562
5563 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5566           give events a chance to be handled by event probes when the pad
5567           is not linked
5568
5569 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5570
5571         * gst/gstevent.c: (gst_event_type_get_name),
5572         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5573         * gst/gstevent.h:
5574           add string representations for event types
5575
5576 2005-10-06  Wim Taymans  <wim@fluendo.com>
5577
5578         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5579         Don't use NULL pointers.
5580
5581 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * gst/gst_private.h:
5584         * gst/gstbus.c:
5585         * gst/gstelement.c:
5586         * gst/gstinfo.c:
5587         * gst/gstpluginfeature.c:
5588           widen the debug category in output to fit the biggest one we have
5589           add a bus category and use it
5590           play with the colors
5591           fix up some categories
5592
5593 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5594
5595         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5596           add push activation of sink ghost pads.
5597           Andye, please verify
5598
5599 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5600
5601         * gst/gstutils.c: (gst_element_link_pads):
5602           fix a bug in the case where neither element has a pad
5603         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5604           add a test for that case
5605
5606 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5607
5608         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5609           emit have-data before checking for peers.  This allows
5610           for probe handlers to connect elements.  This helps autopluggers.
5611         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5612         (gst_pad_suite):
5613           add six checks, linked/unlinked with no/true/false probe
5614
5615 2005-10-04  Wim Taymans  <wim@fluendo.com>
5616
5617         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5618         (gst_fake_sink_event), (gst_fake_sink_preroll),
5619         (gst_fake_sink_render), (gst_fake_sink_change_state):
5620         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5621         (gst_fake_src_get_property), (gst_fake_src_create),
5622         (gst_fake_src_stop):
5623         * gst/elements/gstidentity.c: (gst_identity_stop):
5624         Protect last_message with lock.
5625
5626 2005-10-04  Edward Hervey  <edward@fluendo.com>
5627
5628         * gst/gstformat.h: 
5629         Added precision in the comments for GST_FORMAT_DEFAULT
5630
5631 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5632
5633         * tools/gst-launch.c: (main):
5634           Don't try to run erroneous pipelines.
5635
5636 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5637
5638         * gst/gstbus.c: We don't need this header.
5639
5640 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5641
5642         * configure.ac:
5643           back to development
5644
5645 === release 0.9.3 ===
5646
5647 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5648
5649         * README:
5650         * configure.ac:
5651           Releasing 0.9.3, "Unregistered"
5652
5653 2005-10-03  Andy Wingo  <wingo@pobox.com>
5654
5655         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5656         whereby calling a pad's activatepush() function can start a thread
5657         that starts to push or pull before the pad gets the FLUSHING flag
5658         unset. Hack around it by holding the stream lock until the flag is
5659         set. Need to replace this with a proper solution. Together with
5660         the ghost pad fixes, this fixes mp3 playing/tagreading.
5661
5662         * docs/design/part-gstghostpad.txt: Add a note about activation of
5663         proxy pads outside of ghost pads.
5664
5665         * gst/gstghostpad.c: Implement the ghost pad activation design.
5666
5667 2005-10-02  Andy Wingo  <wingo@pobox.com>
5668
5669         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5670         It is volatile, after all.
5671
5672         * docs/design/part-gstghostpad.txt: Flesh out activation with
5673         ghost pads.
5674
5675         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5676         GST_DEBUG_FUNCPTR.
5677
5678 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5679
5680         * configure.ac:
5681           Fix (unused) AM_CONDITIONAL tests.
5682
5683 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5684
5685         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5686
5687         * gst/gstutils.c: (gst_pad_query_convert):
5688           Add assertion that makes sure src_val is >=0, just like
5689           gst_query_new_convert() has. (#315895)
5690
5691 2005-09-30  Edward Hervey  <edward@fluendo.com>
5692
5693         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5694         Let's not iterate pads we're not interested in, it avoids getting 
5695         sky-high refcounts on sinkpad.
5696
5697 2005-09-30  Wim Taymans  <wim@fluendo.com>
5698
5699         * gst/gstelement.c: (gst_element_set_state),
5700         (gst_element_change_state):
5701         Small tweak, element in ASYNC remains ASYNC.
5702
5703 2005-09-30  Wim Taymans  <wim@fluendo.com>
5704
5705         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5706         Only error is an error.
5707
5708         * gst/gstbin.c: (gst_bin_change_state):
5709         Better debugging.
5710
5711         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5712         Also call pad_block in pad alloc.
5713
5714         * gst/gstutils.c: (gst_flow_get_name):
5715         Better debugging.
5716
5717 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5718
5719         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5720         (gst_base_src_get_range):
5721           Fix documentation typos. Add some more debug info.
5722
5723 2005-09-29  David Schleef  <ds@schleef.org>
5724
5725         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5726           more end-user friendly.
5727         * tools/gst-inspect.c: (main): Check if command-line argument is
5728           a file and attempt to load that file as a plugin.
5729
5730 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * check/gst/gstbin.c:
5733         * check/states/sinks.c:
5734           fix tests for the new warning
5735         * check/gst/gstpipeline.c:
5736           add a test for pipeline and bus interaction
5737         * gst/gstelement.c:
5738           elements should be NULL if they get disposed; add a warning if not
5739
5740 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * gst/gstobject.c:
5743           for 2.6 refcounting, make debug log more correct by printing
5744           the actual refcounts at the time of swap (Wim)
5745
5746 2005-09-29  Andy Wingo  <wingo@pobox.com>
5747
5748         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5749         removes signal watches previously added via
5750         gst_bus_add_signal_watch.
5751         (gst_bus_add_signal_watch): Don't return the source id, just store
5752         it on the bus if there wasn't an id already.
5753
5754         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5755         add_signal_watch and remove_signal_watch.
5756
5757 2005-09-29  Edward Hervey  <edward@fluendo.com>
5758
5759         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5760         Better if we actually iterate the list :)
5761
5762 2005-09-29  Wim Taymans  <wim@fluendo.com>
5763
5764         * check/gst/gstbin.c: (GST_START_TEST):
5765         Change for new bus API.
5766
5767         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5768         (send_messages), (GST_START_TEST), (gstbus_suite):
5769         Change for new bus signal API.
5770
5771         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5772         (gst_bus_source_prepare), (gst_bus_source_check),
5773         (gst_bus_create_watch), (gst_bus_add_watch_full),
5774         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5775         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5776         * gst/gstbus.h:
5777         Remove support for multiple GSources operating on different
5778         message types as it is too complex and unneeded when using
5779         signals.
5780         Added support for receiving signals from the bus.
5781
5782 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5783
5784         * docs/libs/tmpl/gstdataprotocol.sgml:
5785         * docs/manual/advanced-dataaccess.xml:
5786         * gst/elements/gstcapsfilter.c:
5787         * gst/gstutils.c:
5788           rename filter-caps to caps property
5789
5790 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5791
5792         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5793           More robust fraction string parsing.
5794
5795         * docs/pwg/appendix-porting.xml:
5796           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5797
5798 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5799
5800         * gst/gstcaps.c: (gst_caps_do_simplify):
5801           Thou shalt not free a structure and then continue using it
5802           in the next loop iteration.
5803
5804         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5805         (gst_caps_suite):
5806           Add test case for caps simplification.
5807
5808 2005-09-29  Wim Taymans  <wim@fluendo.com>
5809
5810         * check/gst/gstbin.c: (GST_START_TEST):
5811         Oops.
5812
5813 2005-09-29  Wim Taymans  <wim@fluendo.com>
5814
5815         * check/gst/gstbin.c: (GST_START_TEST):
5816         Add bus to bin.
5817
5818         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5819         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5820         (find_element), (gst_bin_sort_iterator_next),
5821         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5822         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5823         (gst_bin_change_state), (gst_bin_dispose):
5824         A bin does not have a bus, it gets the bus from the parent.
5825
5826         * gst/gstelement.c: (gst_element_requires_clock),
5827         (gst_element_provides_clock), (gst_element_is_indexable),
5828         (gst_element_is_locked_state), (gst_element_change_state),
5829         (gst_element_set_bus_func):
5830         Small cleanups.
5831
5832         * gst/gstpipeline.c: (gst_pipeline_class_init),
5833         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5834         The pipeline provides a bus.
5835
5836 2005-09-28  Johan Dahlin  <johan@gnome.org>
5837
5838         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5839         gst_structure_get_enum instead of gst_structure_get_int
5840
5841         * gst/gststructure.c (gst_structure_get_enum): Impl.
5842
5843         * gst/gststructure.h (gst_structure_get_enum): Add
5844
5845         * docs/gst/gstreamer-sections.txt: Ditto
5846
5847         * gst/gstmessage.c (gst_message_new_state_changed): Use
5848         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5849         which does introspection.
5850         Reviewed by Christian Schaller
5851
5852 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5853
5854         * gst/gstinfo.c: (gst_debug_log_default):
5855           don't do dummy g_strdup()s
5856         * libs/gst/controller/gstcontroller.c:
5857         (on_object_controlled_property_changed),
5858         (gst_controlled_property_new), (gst_controller_new_valist),
5859         (gst_controller_new_list),
5860         (gst_controller_remove_properties_valist), (gst_controller_set),
5861         (gst_controller_get), (gst_controller_sync_values),
5862         (gst_controller_get_value_array), (_gst_controller_class_init),
5863         (gst_controller_get_type):
5864         * libs/gst/controller/gstcontroller.h:
5865         * libs/gst/controller/gstinterpolation.c:
5866         (gst_controlled_property_find_timed_value_node):
5867           convert // to /**/ comments
5868
5869 2005-09-28  Wim Taymans  <wim@fluendo.com>
5870
5871         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5872         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5873         (gst_bus_sync_signal_handler):
5874         * gst/gstbus.h:
5875         Added async-message and sync-message signals to the bus.
5876         Added helper BusFunc to emit signals for all posted messages.
5877
5878         * gst/gstmessage.c: (gst_message_type_get_name),
5879         (gst_message_type_to_quark), (gst_message_get_type):
5880         * gst/gstmessage.h:
5881         Register quarks for message names.
5882
5883 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * docs/libs/gstreamer-libs-sections.txt:
5886         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5887         (gst_controller_new_list):
5888         * libs/gst/controller/gstcontroller.h:
5889           added another constructor for language bindings
5890
5891 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5892
5893         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5894           add another check
5895         * gst/gstbus.c:
5896           add some doc
5897         * gst/gstinfo.c: (_gst_debug_init):
5898           slightly more readable color for refcount debugging
5899
5900 2005-09-28  Wim Taymans  <wim@fluendo.com>
5901
5902         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5903         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5904         (find_element), (gst_bin_sort_iterator_next),
5905         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5906         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5907         (gst_bin_change_state), (gst_bin_dispose):
5908         Small doc fixes. get_clock -> provide_clock.
5909
5910         * gst/gstelement.c: (gst_element_class_init),
5911         (gst_element_provides_clock), (gst_element_provide_clock),
5912         (gst_element_get_clock), (gst_element_commit_state),
5913         (gst_element_lost_state):
5914         * gst/gstelement.h:
5915         Make get/set_clock() symetric. Add provide_clock vmethod since
5916         that is actually what this function does.
5917
5918         * gst/gstpipeline.c: (gst_pipeline_class_init),
5919         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5920         (gst_pipeline_get_clock):
5921         get_clock -> provide_clock.
5922
5923 2005-09-28  Andy Wingo  <wingo@pobox.com>
5924
5925         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5926         lieu of real docs...
5927
5928         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5929
5930 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5931
5932         * gst/elements/gstcapsfilter.c:
5933         * gst/elements/gstfakesink.c:
5934         * gst/elements/gstfakesrc.c:
5935         * gst/elements/gstfdsink.c:
5936         * gst/elements/gstfdsrc.c:
5937         * gst/elements/gstfilesink.c:
5938         * gst/elements/gstfilesrc.c:
5939         * gst/elements/gstidentity.c:
5940         * gst/elements/gsttee.c:
5941         * gst/elements/gsttypefindelement.c:
5942           Make element details static.
5943
5944 2005-09-28  Wim Taymans  <wim@fluendo.com>
5945
5946         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5947         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5948         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5949         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5950         (gst_bin_change_state), (gst_bin_dispose):
5951         Some documentation updates.
5952         Clean up dispose handlers.
5953
5954         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5955         * gst/gstpad.c: (gst_pad_dispose):
5956         Clean up dispose handler.
5957
5958         * gst/gstpipeline.c: (gst_pipeline_change_state):
5959         Removed spurious UNLOCK.
5960
5961 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5962
5963         * docs/gst/gstreamer-sections.txt:
5964         * gst/base/gstbasesrc.h:
5965         * gst/gstelement.h:
5966         * gst/gstevent.h:
5967         * gst/gstobject.h:
5968         * gst/gstpad.h:
5969         * gst/gstpipeline.c:
5970         * gst/gstpipeline.h:
5971         * gst/gstutils.h:
5972         * gst/gstxml.h:
5973           added two new functions to the docs
5974                 documents all undocumented GstXXXFlags
5975                 completed some incomplete docs 
5976
5977 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5978
5979         * gst/gstbin.c: (gst_bin_dispose):
5980         * gst/gstelement.c: (gst_element_dispose):
5981           remove now useless and leaky resurrection code in dispose
5982         * gst/base/gstbasesrc.c: (gst_base_src_init):
5983         * gst/gstelementfactory.c: (gst_element_factory_create):
5984         * gst/gstobject.c: (gst_object_set_parent):
5985           add some debugging
5986
5987 2005-09-27  Wim Taymans  <wim@fluendo.com>
5988
5989         * docs/design/part-TODO.txt:
5990         Update TODO.
5991
5992         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5993         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5994         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5995         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5996         (gst_bin_change_state):
5997         * gst/gstelement.h:
5998         Remove element variable, we keep element info in the iterator now.
5999
6000 2005-09-27  Andy Wingo  <wingo@pobox.com>
6001
6002         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6003         values.
6004
6005 2005-09-27  Wim Taymans  <wim@fluendo.com>
6006
6007         * check/gst/gstbin.c: (GST_START_TEST):
6008         Enable check that works now.
6009
6010         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6011         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6012         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6013         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6014         (gst_bin_change_state):
6015         * gst/gstbin.h:
6016         Redid the state change algorithm using a topological sort algo.
6017         Handles all cases correctly.
6018         Exposed iterator for state change order.
6019
6020         * gst/gstelement.h:
6021         Temp storage for state changes. Need to get rid of this soon.
6022
6023 2005-09-27  Wim Taymans  <wim@fluendo.com>
6024
6025         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6026         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6027         (link_fold_func), (gst_pad_proxy_setcaps):
6028         Leak fixes, the fold functions need to unref the passed object and
6029         _get_parent_*() returns ref to parent.
6030
6031 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6032
6033         * check/gst/gstbuffer.c: (test_make_writable):
6034           Plug leak in test case and fix 'make check-valgrind'
6035
6036 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6037
6038         * gst/gstbuffer.c: (gst_subbuffer_init):
6039           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6040           works correctly in all circumstances (we could have just copied
6041           the parent buffer's readonly flag, but conceptually it seems
6042           cleaner to mark all subbuffers as read-only). (based on patch
6043           by Alessandro Decina, #314710).
6044         
6045         * check/gst/gstbuffer.c: (create_read_only_buffer),
6046         (test_make_writable), (test_subbuffer_make_writable),
6047         (gst_test_suite):
6048           Add some tests for gst_buffer_make_writable().
6049
6050 2005-09-27  Wim Taymans  <wim@fluendo.com>
6051
6052         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6053         use gst_object_has_ancestor().
6054
6055         * gst/gstobject.c: (gst_object_has_ancestor):
6056         * gst/gstobject.h:
6057         gst_object_has_ancestor() copied from gstbin.c as it is a
6058         usefull function.
6059
6060         * tests/instantiate/create.c: (create_all_elements):
6061         * tests/lat.c: (handoff_src), (handoff_sink):
6062         * tests/sched/runxml.c: (main):
6063         * tests/seeking/seeking1.c: (main):
6064         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6065         (main):
6066         Fix compilation of some tests.
6067
6068 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6069
6070         * gst/gsterror.h:
6071           Remove comment. GST_TYPE_G_ERROR is here to stay,
6072           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6073           (#316961, #300610).
6074
6075 2005-09-26  Wim Taymans  <wim@fluendo.com>
6076
6077         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6078         Added check that shows error in state change order.
6079
6080 2005-09-26  Wim Taymans  <wim@fluendo.com>
6081
6082         * gst/gstbin.c: (gst_bin_change_state):
6083         Make state change function use 3 queues again, we were
6084         adding elements in the wrong order.
6085
6086         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6087         Some debug info,
6088
6089         * gst/gstpad.c: (gst_pad_dispose):
6090         Added some debug info first.
6091
6092 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * docs/design/draft-push-pull.txt:
6095         * docs/design/part-events.txt:
6096         * docs/design/part-overview.txt:
6097         * docs/design/part-scheduling.txt:
6098           Replace all _pull_region() with _pull_range()
6099           
6100 2005-09-26  Andy Wingo  <wingo@pobox.com>
6101
6102         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6103
6104         * check/gst-libs/controller.c: Update for controller api change.
6105
6106         * configure.ac: 
6107         * tests/Makefile.am:
6108         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6109         over by GLib bug 118439.
6110         
6111         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6112         routines to a function.
6113
6114         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6115
6116         * libs/gst/controller/gsthelper.c:
6117         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6118         (gst_object_sync_values): Renamed from sink_values. Ugh.
6119
6120         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6121
6122         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6123         Renamed from controller_key, as it is exported.
6124
6125         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6126
6127 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6128
6129         * gst/Makefile.am:
6130         * gst/gst.h:
6131         * gst/gstpad.h:
6132         * gst/gstpadtemplate.h:
6133         * gst/gstquery.c:
6134         * gst/gstquery.h:
6135         * gst/gstqueryutils.c:
6136         * gst/gstqueryutils.h:
6137           remove queryutils headers after moving the two used functions
6138           to gstquery.  also fixes build problem for gstsiddec
6139
6140 2005-09-26  Michael Smith <msmith@fluendo.com>
6141
6142         * tools/gst-launch.1.in:
6143         Correct documentation in manpage of debug syntax
6144
6145 2005-09-26  Wim Taymans  <wim@fluendo.com>
6146
6147         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6148         (gst_base_src_is_seekable), (gst_base_src_change_state):
6149         Some more debugging info.
6150
6151 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6152
6153         * docs/gst/gstreamer-sections.txt:
6154         * gst/base/gstbasetransform.h:
6155         * gst/gstindex.h:
6156           added more docs
6157
6158 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6159
6160         * docs/gst/.cvsignore:
6161         * docs/gst/tmpl/.cvsignore:
6162         * docs/gst/tmpl/gstpipeline.sgml:
6163         * docs/gst/tmpl/gstplugin.sgml:
6164         * gst/gstpipeline.c:
6165         * gst/gstplugin.c:
6166         * gst/gstplugin.h:
6167           inlined the last two docs files
6168           removed the tmpl directory from cvs (no more conflicts here!)
6169
6170 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6171
6172         * docs/gst/gstreamer-sections.txt:
6173         * docs/gst/tmpl/.cvsignore:
6174         * docs/gst/tmpl/gstpad.sgml:
6175         * docs/gst/tmpl/gstpadtemplate.sgml:
6176         * gst/Makefile.am:
6177         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6178         (gst_pad_finalize), (gst_pad_set_pad_template):
6179         * gst/gstpad.h:
6180         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6181         (gst_pad_template_class_init), (gst_pad_template_init),
6182         (gst_pad_template_dispose), (name_is_valid),
6183         (gst_static_pad_template_get), (gst_pad_template_new),
6184         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6185         (gst_pad_template_pad_created):
6186         * gst/gstpadtemplate.h:
6187           inlined two more docs
6188           factored gstpadtemplate out of gstpad
6189
6190 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6191
6192         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6193         (test_children_state_change_order_semi_sink):
6194           Fix test case: we can't rely on a fixed state change order when
6195           going from READY => PAUSED because the sink might commit its 
6196           new state first when the first buffer created by the source 
6197           reaches the sink before the source has finished its change state.
6198           (Test case still fails at times, see #316856, comment 5 onwards)
6199
6200 2005-09-24  Wim Taymans  <wim@fluendo.com>
6201
6202         * docs/design/part-events.txt:
6203         * docs/design/part-gstbus.txt:
6204         * docs/design/part-gstpipeline.txt:
6205         * docs/design/part-messages.txt:
6206         * docs/design/part-overview.txt:
6207         * docs/design/part-segments.txt:
6208         * gst/gstbin.c:
6209         * gst/gstbuffer.c:
6210         * gst/gstclock.c:
6211         * gst/gstelement.c:
6212         * gst/gstevent.c:
6213         * gst/gstfilter.c:
6214         * gst/gstiterator.c:
6215         Various documentation updates.
6216
6217 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6218
6219         * gst/gstclock.h:
6220           Well, that's embarassing.  Luckily we weren't using
6221           GST_CLOCK_DIFF anywhere.
6222
6223 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6224
6225         * common/gtk-doc.mak:
6226           don't fail on building XML, FC4 slave shows a bunch of doc
6227           missing bits that I don't get
6228         * gst/gstpad.c:
6229         * gst/gstpipeline.c:
6230         * gst/gststructure.c:
6231           some doc updates
6232
6233 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6234
6235         * docs/design/part-gstbin.txt:
6236         * docs/design/part-gstbus.txt:
6237         * gst/gstbus.c:
6238           Add blurb about how the bus goes into flushing mode and
6239           drops all messages when its bin goes from READY into NULL 
6240           state.
6241
6242 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6243
6244         * docs/gst/gstreamer-sections.txt:
6245         * gst/gststructure.c: (gst_structure_get_clock_time):
6246         * gst/gststructure.h:
6247           add a method to get a GstClockTime out of a structure
6248
6249 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6250
6251         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6252         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6253           Added test to check state change order in bins (can still be made
6254           to fail here under heavy disk load; bails out with 'Push on pad
6255           fakesink:sink0, but it was not activated in push mode').
6256
6257         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6258           Fix state change order when there is only a semi sink (#316856)
6259
6260         * gst/gstbus.c: (gst_bus_class_init):
6261           Use _class_peek_parent(), not _class_ref(); fix docs to say
6262           'default main context' instead of 'mainloop' where that is
6263           what's meant.
6264
6265         * gst/gstelement.c: (gst_element_commit_state),
6266         (gst_element_set_state):
6267           Fix typos in debug messages
6268
6269 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6270
6271         * docs/README:
6272         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6273         * gst/gstpluginfeature.c:
6274         * gst/gstutils.c:
6275           various doc updates
6276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6277           change an assert into an error until it gets fixed properly
6278
6279 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6280
6281         * docs/gst/gstreamer-sections.txt:
6282         * docs/gst/tmpl/.cvsignore:
6283         * docs/gst/tmpl/gstelement.sgml:
6284         * docs/gst/tmpl/gstinfo.sgml:
6285         * docs/gst/tmpl/gstobject.sgml:
6286         * gst/gstelement.c:
6287         * gst/gstelement.h:
6288         * gst/gstinfo.c:
6289         * gst/gstinfo.h:
6290         * gst/gstobject.c: (gst_object_class_init):
6291         * gst/gstobject.h:
6292           inlined 3 more biiiig doc files and added some missing docs on the fly
6293
6294 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6295
6296         * check/gst/.cvsignore:
6297         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6298         * gst/gstregistryxml.c: (load_plugin),
6299         (gst_registry_xml_save_plugin):
6300           put back source in registry.  add checks for find_plugin.
6301         * testsuite/states/bin.c: (assert_state), (empty_bin),
6302         (test_adding_one_element), (main):
6303         * testsuite/states/locked.c: (main):
6304           some compile/run fixes
6305
6306 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6307
6308         * check/gst/gstvalue.c: (GST_START_TEST):
6309           fix leaks in the test itself
6310
6311 2005-09-22  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6314         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6315         (gst_base_sink_query):
6316         Prepare for more accurate position reporting and query
6317         handling.
6318
6319         * gst/gstelement.c: (gst_element_send_event),
6320         (gst_element_set_state):
6321         Add some comment.
6322
6323 2005-09-22  Wim Taymans  <wim@fluendo.com>
6324
6325         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6326         (gst_query_parse_segment):
6327         * gst/gstquery.h:
6328         More documentation.
6329         Add segment query for future use.
6330
6331 2005-09-22  Wim Taymans  <wim@fluendo.com>
6332
6333         * gst/gstbin.c: (gst_bin_add_func):
6334         Some more debug info.
6335
6336         * gst/gstelement.c: (gst_element_send_event):
6337         Simplify send_event
6338
6339         * gst/gstelement.h:
6340         Don't know how flags got broken.
6341
6342         * gst/gstquery.h:
6343         Added new query.
6344
6345 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6346
6347         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6348           Add simplistic test suite for GST_TYPE_DATE serialisation and
6349           deserialisation.
6350
6351 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6352
6353         * docs/gst/gstreamer-sections.txt:
6354         * gst/gststructure.c: (gst_structure_set_valist),
6355         (gst_structure_get_date):
6356         * gst/gststructure.h:
6357         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6358         (gst_date_copy), (gst_value_compare_date),
6359         (gst_value_serialize_date), (gst_value_deserialize_date),
6360         (gst_value_transform_date_string),
6361         (gst_value_transform_string_date), (_gst_value_initialize):
6362         * gst/gstvalue.h:
6363           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6364           bunch of utility functions along with a hack that checks that
6365           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6366           is required. Part of the grand scheme in #170777.
6367
6368 2005-09-22  Andy Wingo  <wingo@pobox.com>
6369
6370         * gst/gstconfig.h.in: Psych out gtk-doc.
6371
6372         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6373
6374         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6375
6376         * tools/gst-inspect.c (print_element_list): Plug some
6377         inconsequential leaks.
6378
6379         * gst/gstregistry.c (gst_registry_get_default): Doc.
6380
6381         * check/gst/gstplugin.c: 
6382         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6383         * gst/gstelementfactory.c (gst_element_factory_create): 
6384         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6385         refcount changes.
6386
6387         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6388         (gst_plugin_feature_load): Doc, don't eat refs.
6389
6390         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6391         (gst_plugin_list_free): Doc.
6392         (gst_plugin_load_file): Doc updates.
6393
6394         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6395         accessors returning refcounted objects, return a ref.
6396
6397         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6398         accessor for caps. IDEMPOTENCE. Oh yes.
6399
6400 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6401
6402         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6403
6404         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6405         (_gst_debug_register_funcptr):
6406           Add mutex to serialise access to the hash table with
6407           the function pointer => function name string mapping;
6408           make that hash table static scope (#316809).
6409
6410         * gst/registries/.cvsignore:
6411           Remove left-over file.
6412
6413 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6414
6415         * docs/pwg/appendix-porting.xml:
6416           And something about newsegment events and caps-on-buffers to
6417           the porting guide (feel free to improve).
6418
6419 2005-09-21  Andy Wingo  <wingo@pobox.com>
6420
6421         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6422         data and event probes on the same pad.
6423         (test_buffer_probe_once): Test that removing probes from within
6424         the probe functions works.
6425
6426 2005-09-21  Andy Wingo  <wingo@pobox.com>
6427
6428         * check/gst/gstutils.c: New file.
6429         (test_buffer_probe_n_times): A simple buffer probe test. More to
6430         come, foolios.
6431
6432         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6433         have-data::buffer, not have-data.
6434         (gst_pad_add_event_probe): Likewise for have-data::event.
6435         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6436         peer' isn't quite right yet though.
6437         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6438         (gst_pad_remove_data_probe): Change to take the guint handler_id
6439         as their arg, not the function+data, which is more glib-like.
6440
6441         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6442         the signal emission to indicate if the data is a buffer or an
6443         event.
6444         (gst_pad_get_type): Initialize buffer and event quarks.
6445         (gst_pad_class_init): have-data is now a detailed signal, yes it
6446         is.
6447
6448 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6449
6450         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6451         * gst/gstutils.c: (gst_util_set_value_from_string),
6452         (gst_util_set_object_arg):
6453           Don't put functional code in g_return_if_fail() or
6454           g_return_val_if_fail() statements, otherwise things will 
6455           break when G_DISABLE_CHECKS is defined during compilation.
6456
6457 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6458
6459         * docs/gst/tmpl/.cvsignore:
6460         * docs/gst/tmpl/gstvalue.sgml:
6461         * gst/gstvalue.c:
6462         * gst/gstvalue.h:
6463           inlied another one and added  some obvious docs
6464
6465 2005-09-21  Wim Taymans  <wim@fluendo.com>
6466
6467         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6468         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6469         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6470         (gst_fdsrc_get_property), (gst_fdsrc_create):
6471         * gst/elements/gstfdsrc.h:
6472         Properly implement fdsrc. Removed signal and timeout,
6473         better implemented somewhere else.
6474
6475 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6476
6477         * docs/gst/tmpl/.cvsignore:
6478         * docs/gst/tmpl/gstimplementsinterface.sgml:
6479         * gst/gstinterface.c:
6480           inlined more docs
6481
6482 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6483
6484         * docs/gst/gstreamer-sections.txt:
6485         * docs/gst/tmpl/.cvsignore:
6486         * docs/gst/tmpl/gstenumtypes.sgml:
6487           remove obsolete doc file
6488
6489 2005-09-21  David Schleef  <ds@schleef.org>
6490
6491         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6492         little beer, fix a little leak.
6493
6494 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6495
6496         * docs/gst/gstreamer-docs.sgml:
6497         * docs/gst/gstreamer-sections.txt:
6498         * docs/gst/tmpl/.cvsignore:
6499         * gst/Makefile.am:
6500         * gst/gst.h:
6501         * gst/gstbin.c:
6502         * gst/gstelement.h:
6503         * gst/gstindex.c: (gst_index_class_init):
6504         * gst/gstindex.h:
6505         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6506         (gst_index_factory_class_init), (gst_index_factory_init),
6507         (gst_index_factory_finalize), (gst_index_factory_new),
6508         (gst_index_factory_destroy), (gst_index_factory_find),
6509         (gst_index_factory_create), (gst_index_factory_make):
6510         * gst/gstindexfactory.h:
6511         * gst/gstpluginfeature.c:
6512         * gst/gstpluginfeature.h:
6513         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6514           more docs inlined, splitted gstindex.{c,h}
6515
6516 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6517
6518         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6519           fix a leak
6520
6521 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6522
6523         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6524           Set sync to FALSE by default.
6525
6526 2005-09-20  Wim Taymans  <wim@fluendo.com>
6527
6528         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6529         (gst_base_sink_init):
6530         Make sync property settable from subclass.
6531
6532         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6533         (gst_fake_sink_change_state):
6534         Set sync to FALSE by default.
6535
6536 2005-09-20  Wim Taymans  <wim@fluendo.com>
6537
6538         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6539         * tools/gst-launch.c: (main):
6540         The timeout handler should have lower priority than the source
6541         so we don't timeout before popping a message with 0 timeout.
6542         Dump error messages after failed state change.
6543
6544 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6545
6546         * tools/gst-inspect.c: (print_element_properties_info):
6547           Fix two typos.
6548
6549 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6550
6551         * check/gst/gstevent.c:
6552         * gst/elements/gstfakesink.c:
6553         * gst/elements/gstfakesink.h:
6554           remove the sync property from fakesink.
6555           has the side effect of setting sync TRUE
6556           for fakesink, which is a change.  Anyone who knows how
6557           to fix this nicely in a GObject-y way, feel free.
6558
6559 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6560
6561         * docs/gst/gstreamer-docs.sgml:
6562           remove probe refsection
6563
6564 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6565
6566         * check/Makefile.am:
6567           disable valgrinding the controller test again
6568         * docs/gst/gstreamer-sections.txt:
6569           update for api-changes
6570
6571 2005-09-20  Wim Taymans  <wim@fluendo.com>
6572
6573         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6574         (gst_base_sink_set_property), (gst_base_sink_get_property),
6575         (gst_base_sink_do_sync):
6576         * gst/base/gstbasesink.h:
6577         Added sync property to basesink to disable clock sync.
6578
6579 2005-09-20  Andy Wingo  <wingo@pobox.com>
6580
6581         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6582         eating the caller's refcount.
6583
6584         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6585         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6586         refcount.
6587
6588         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6589         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6590         of GLib 2.8 public, so we can know which refcount to check in
6591         tests.
6592
6593         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6594         (gst_object_init): Only set the gst refcount if we're going ahead
6595         with the refcount hack.
6596
6597 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6598
6599         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6600         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6601           more leaks plumbed, added more debug-logging
6602         * gst/gstmacros.h:
6603           whitespace fix
6604
6605 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6606
6607         * gst/gstmessage.c:
6608           remove include of gstmemchunk.h
6609
6610 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6611
6612         * gst/gstclock.c: (_gst_clock_id_free):
6613           Commit from the Political Party For More Atomic CVS Commits,
6614           so that people don't waste too much of their day fishing
6615           out obvious leaks out of massive commits.
6616           Oh, and fix a pretty damn obvious leak in the memchunk
6617           removal code.
6618
6619 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6620
6621         * check/Makefile.am:
6622         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6623           plug mem-leak, re-add to valgrindable tests
6624
6625 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6626
6627         * gst/gstplugin.h:
6628           unbreak the build for those who have chronic arthritis
6629           and typing "make check" is just too taxing on the hands
6630
6631 2005-09-20  Andy Wingo  <wingo@pobox.com>
6632
6633         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6634         really want it out, you should fix plugins at the same time.
6635
6636 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6637
6638         * configure.ac:
6639         * docs/gst/gstreamer-sections.txt:
6640         * gst/gstobject.c:
6641           added missing symbols to api docs
6642           disable ref-count hack if we have glib >= 2.8
6643
6644 2005-09-19  David Schleef  <ds@schleef.org>
6645
6646         * docs/gst/Makefile.am: Ignore a few more internal headers
6647         * docs/gst/gstreamer-docs.sgml: Remove old sections
6648         * docs/gst/gstreamer-sections.txt: Remove old sections
6649         * docs/gst/tmpl/gstobject.sgml: update
6650         * docs/gst/tmpl/gstplugin.sgml: update
6651         * docs/gst/tmpl/gstpluginfeature.sgml: update
6652         * docs/random/ds/0.9-suggested-changes: update.
6653         * gst/Makefile.am: remove memchunk and trashstack, since they're
6654           not used.
6655         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6656         * gst/gst.h: don't include some headers
6657         * gst/gstchildproxy.c: add gstmarshal.h
6658         * gst/gstclock.c: Don't use memchunks
6659         * gst/gstminiobject.c: Add some docs
6660         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6661         * gst/gstobject.h: same
6662         * gst/gstplugin.c: include gstmacros.h
6663         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6664         * gst/gstquery.c: don't use memchunks
6665         * gst/gstregistry.c: rename gst_registry_deinit()
6666         * gst/gstregistry.h: same
6667
6668 2005-09-19  David Schleef  <ds@schleef.org>
6669
6670         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6671         * docs/libs/gstreamer-libs-sections.txt:
6672         * docs/libs/tmpl/gstgetbits.sgml:
6673         * docs/libs/tmpl/gstputbits.sgml:
6674
6675 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6676
6677         * win32/gstenumtypes.c:
6678         * win32/gstenumtypes.h:
6679           Update.
6680
6681 2005-09-19  Wim Taymans  <wim@fluendo.com>
6682
6683         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6684         Automatically PAUSE and RESUME a pipeline when a flushing seek
6685         is performed.
6686
6687 2005-09-19  Andy Wingo  <wingo@pobox.com>
6688
6689         * gst/gstregistry.h: Spacing fixen.
6690
6691 2005-09-19  Wim Taymans  <wim@fluendo.com>
6692
6693         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6694         Handle state change failure more correctly.
6695
6696 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6697
6698         * check/Makefile.am:
6699         * check/pipelines/cleanup.c: (run_pipeline):
6700         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6701         (GST_START_TEST):
6702           enable cleanup again after fixing the leak
6703         * docs/README:
6704           some more info on docs
6705
6706 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6707
6708         * check/Makefile.am:
6709           re-enable tests now that leaks are plugged
6710         * check/gst/gst.c:
6711         * check/gst/gstbin.c:
6712         * check/gst/gstpipeline.c:
6713           add some more tests while fixing leaks
6714         * common/check.mak:
6715           make sure binaries are uptodate when valgrinding/gdbing
6716         * gst/gst.c:
6717         * gst/gstelementfactory.c:
6718           remove a ref too many, and add a FIXME for when we get
6719           round to disposing of classes
6720         * gst/gstplugin.c:
6721           fix the refcounting when loading a plugin from a file and
6722           the code pretends that the pointer is the same even though
6723           of course it can change
6724         * gst/gstpluginfeature.c:
6725           unref plugins marked cached (a bit confusing as a name)
6726           as the docs state should be done
6727           various doc additions to explain refcounting
6728         * gst/gstregistry.c:
6729         * gst/gstregistryxml.c:
6730           debugging
6731
6732 2005-09-19  Wim Taymans  <wim@fluendo.com>
6733
6734         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6735         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6736         (send_messages), (GST_START_TEST), (gstbus_suite):
6737         * check/gst/gstpipeline.c: (GST_START_TEST):
6738         * check/pipelines/cleanup.c: (run_pipeline):
6739         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6740         (GST_START_TEST):
6741         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6742         (gst_bus_source_check), (gst_bus_source_dispatch),
6743         (gst_bus_create_watch), (gst_bus_add_watch_full),
6744         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6745         * gst/gstbus.h:
6746         * tools/gst-launch.c: (event_loop):
6747         * tools/gst-md5sum.c: (event_loop):
6748         GstBusHandler -> GstBusFunc, return value has the same meaning as
6749         any other GSource (FALSE == remove source).
6750         _add_watch() and _add_watch_full() now take a MessageType mask to
6751         only handle specific types of messages.
6752         _poll() returns the GstMessage instead of the message type to avoid
6753         race conditions.
6754         _have_pending() takes a MessageType mask now too.
6755         Added testsuite for multiple bus watches.
6756         Fix testsuites and applications for new bus API.
6757
6758 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * check/Makefile.am:
6761           mark a bunch of the tests as to fix until we fix them
6762
6763 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * common/check.mak:
6766           use GST_PLUGIN settings for valgrind tests as well, so we're
6767           valgrinding the correct thing
6768         * gst/gst.c: (init_post):
6769           plug another leak
6770
6771 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * gst/gst.c: (init_post), (gst_deinit):
6774         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6775         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6776         * gst/gstindex.c: (gst_index_factory_class_init),
6777         (gst_index_factory_finalize):
6778         * gst/gstobject.c: (gst_object_dispose):
6779         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6780         (gst_plugin_load_file), (gst_plugin_desc_free):
6781         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6782         (gst_plugin_feature_finalize):
6783         * gst/gstregistry.c: (gst_registry_class_init),
6784         (gst_registry_init), (gst_registry_finalize),
6785         (gst_registry_get_default), (gst_registry_deinit):
6786         * gst/gstregistry.h:
6787         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6788           various cleanups and memleak plugging.  make valgrind is happy now.
6789
6790 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6791
6792         * common/check.mak:
6793           add a check-valgrind target
6794
6795 2005-09-18  David Schleef  <ds@schleef.org>
6796
6797         * tools/gst-inspect.c: Revert the GOption code.
6798
6799 2005-09-17  David Schleef  <ds@schleef.org>
6800
6801         * check/Makefile.am: Fix environment variables.
6802         * check/gst/gstplugin.c: Fix for API changes.
6803         * tools/gst-inspect.c: Fix for API changes.
6804         * tools/gst-xmlinspect.c: Fix for API changes.
6805         * gst/gstelementfactory.c:
6806         * gst/gstplugin.c:
6807         * gst/gstplugin.h:
6808         * gst/gstpluginfeature.c:
6809         * gst/gstpluginfeature.h:
6810         * gst/gstregistry.c:
6811         * gst/gstregistry.h:
6812         * gst/gstregistryxml.c:
6813         * gst/gsttypefind.c:
6814         * gst/gsttypefindfactory.c:
6815         * gst/indexers/gstfileindex.c:
6816         * gst/indexers/gstmemindex.c:
6817         * gst/schedulers/Makefile.am:
6818           Change registry to keep track of both plugins and features,
6819           removing the feature tracking from plugins themselves.
6820
6821 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6822
6823         * check/Makefile.am:
6824         * tools/gst-register.1.in:
6825           remove gst-register
6826
6827 2005-09-15  David Schleef  <ds@schleef.org>
6828
6829         * check/gst/gstplugin.c:
6830         * gst/gstelementfactory.c:
6831         * gst/gstplugin.c:
6832         * gst/gstpluginfeature.c:
6833         * gst/gstregistry.c:
6834           Getting tired of debugging.  Disabled all the unreffing of
6835           plugins and features, which fixes the segfaults, but of
6836           course leaks like crazy.  At least playbin works.
6837
6838 2005-09-15  David Schleef  <ds@schleef.org>
6839
6840         * check/gst/gstplugin.c: (register_check_elements),
6841         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6842         More testing
6843         * gst/elements/gsttypefindelement.c: Fix refcounting.
6844         * gst/gsttypefind.c:
6845         * gst/gsttypefindfactory.c:
6846         * gst/gsttypefindfactory.h:
6847
6848 2005-09-15  David Schleef  <ds@schleef.org>
6849
6850         * gst/gstindex.c: get refcounting correct.
6851         * gst/gstregistry.c: Handle the case where a feature/plugin is
6852           not found.
6853
6854 2005-09-15  David Schleef  <ds@schleef.org>
6855
6856         * check/Makefile.am:
6857         * check/gst/gstplugin.c: Add test
6858         * gst/gstplugin.c: Fix problems noticed by testsuite
6859         * gst/gstplugin.h:
6860         * gst/gstregistry.c: 
6861         * gst/gstregistry.h:
6862
6863 2005-09-15  David Schleef  <ds@schleef.org>
6864
6865         * gst/gstplugin.c: Implement semi-decent recounting and locking
6866           in plugins and plugin features.
6867         * gst/gstplugin.h:
6868         * gst/gstpluginfeature.c:
6869         * gst/gstpluginfeature.h:
6870         * gst/gstregistry.c:
6871
6872 2005-09-15  Michael Smith <msmith@fluendo.com>
6873
6874         * gst/gstregistry.c: (gst_registry_get_feature_list):
6875           Implement this. Makes oggdemux work; decodebin still broken.
6876
6877 2005-09-14  David Schleef  <ds@schleef.org>
6878
6879         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6880           #316076)
6881         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6882         * gst/check/Makefile.am:
6883         * libs/gst/controller/Makefile.am:
6884         * libs/gst/dataprotocol/Makefile.am:
6885
6886 2005-09-14  David Schleef  <ds@schleef.org>
6887
6888         * configure.ac: Remove getbits library.  Nothing uses it, and
6889           it should be in something like liboil if someone did want
6890           to use it.
6891         * libs/gst/Makefile.am:
6892         * libs/gst/getbits/Makefile.am:
6893         * libs/gst/getbits/gbtest.c:
6894         * libs/gst/getbits/getbits.c:
6895         * libs/gst/getbits/getbits.h:
6896         * libs/gst/getbits/gstgetbits_generic.c:
6897         * libs/gst/getbits/gstgetbits_i386.s:
6898         * libs/gst/getbits/gstgetbits_inl.h:
6899
6900 2005-09-14  David Schleef  <ds@schleef.org>
6901
6902         * gst/Makefile.am: Dist glib-compat.h
6903
6904 2005-09-14  David Schleef  <ds@schleef.org>
6905
6906         * configure.ac: Remove gst/registries, since it's no longer used.
6907         * gst/registries/Makefile.am:
6908         * gst/registries/gstlibxmlregistry.c:
6909         * gst/registries/gstlibxmlregistry.h:
6910         * gst/registries/gstxmlregistry.c:
6911         * gst/registries/gstxmlregistry.h:
6912         * gst/registries/registrytest.c:
6913
6914 2005-09-14  David Schleef  <ds@schleef.org>
6915
6916         * gst/glib-compat.h:
6917         * gst/gstregistryxml.c:
6918           Convergence is near.  Seriously.
6919
6920 2005-09-14  David Schleef  <ds@schleef.org>
6921
6922         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6923         * gst/glib-compat.h:
6924           Attempt #4 to appease the buildbots.
6925
6926 2005-09-14  David Schleef  <ds@schleef.org>
6927
6928         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6929           Attempt #3.
6930
6931 2005-09-14  David Schleef  <ds@schleef.org>
6932
6933         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6934         Attempt #2.
6935
6936 2005-09-14  David Schleef  <ds@schleef.org>
6937
6938         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6939           the new functions.
6940
6941 2005-09-14  David Schleef  <ds@schleef.org>
6942
6943         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6944         * gst/glib-compat.h: Add some functions that are in newer versions
6945           of glib than we care to require.
6946         * gst/gstregistryxml.c: Use them.
6947
6948 2005-09-14  David Schleef  <ds@schleef.org>
6949
6950         * po/POTFILES.in: remove gst-register.c
6951
6952 2005-09-14  David Schleef  <ds@schleef.org>
6953
6954         * docs/gst/gstreamer-docs.sgml:
6955         * docs/gst/gstreamer-sections.txt:
6956         * docs/gst/gstreamer.types:
6957         * docs/gst/tmpl/gstelement.sgml:
6958         * docs/gst/tmpl/gstplugin.sgml:
6959         * docs/gst/tmpl/gstpluginfeature.sgml:
6960           Documentation updates for registry changes.
6961
6962 2005-09-14  David Schleef  <ds@schleef.org>
6963
6964         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6965           because we don't require glib-2.8.
6966
6967 2005-09-14  David Schleef  <ds@schleef.org>
6968
6969         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6970           registries directory.
6971
6972 2005-09-14  David Schleef  <ds@schleef.org>
6973
6974         * check/Makefile.am:
6975         * check/generic/states.c:
6976         * gst/Makefile.am:
6977         * gst/gst.c:
6978         * gst/gst.h:
6979         * gst/gst_private.h:
6980         * gst/gstelementfactory.c:
6981         * gst/gstindex.c:
6982         * gst/gstinfo.c:
6983         * gst/gstplugin.c:
6984         * gst/gstplugin.h:
6985         * gst/gstpluginfeature.c:
6986         * gst/gstpluginfeature.h:
6987         * gst/gstregistry.c:
6988         * gst/gstregistry.h:
6989         * gst/gstregistrypool.c: remove
6990         * gst/gstregistrypool.h: remove
6991         * gst/gsttypefind.c:
6992         * gst/gsttypefindfactory.c:
6993         * gst/gsturi.c:
6994         * tools/Makefile.am:
6995         * tools/gst-compprep.c:
6996         * tools/gst-inspect.c:
6997         * tools/gst-register.c: remove
6998         * tools/gst-xmlinspect.c:
6999           Registry rewrite.  Changes registry from being a file created
7000           by a tool into a simple cache file created automatically by 
7001           libgstreamer.  Removed gst-register (because it's no longer
7002           needed).  Remove registry pools, because we only have one
7003           registry implementation (XML).  Fix up other subsystems as
7004           necessary.
7005
7006 2005-09-13  Michael Smith <msmith@fluendo.com>
7007
7008         * gst/gstconfig.h.in:
7009           Don't Use windows linking attributes for MinGW. Fixes #316157
7010
7011 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7012
7013         * gst/gstutils.c: (set_state_async_thread_func),
7014         (gst_element_set_state_async):
7015           Apparently people think it's better if this function doesn't
7016           try to set the state to whatever state was asked for on the first
7017           call to this function for any object.  Seriously.
7018
7019 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7020
7021         * check/gst/gstpipeline.c: (GST_START_TEST):
7022         * docs/gst/gstreamer-sections.txt:
7023         * gst/gstutils.c: (set_state_async_thread_func),
7024         (gst_element_set_state_async):
7025         * gst/gstutils.h:
7026           add a "gst_element_set_state_async" method that
7027           sets the state and starts a thread to make sure the state
7028           change completes as best as it can
7029
7030 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7031
7032         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7033           codify design+behaviour in testsuite after discussion
7034
7035 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7036
7037         * docs/gst/tmpl/gstelement.sgml:
7038         * docs/manual/appendix-quotes.xml:
7039           add a quote
7040         * gst/gstelement.c: (gst_element_set_state):
7041           add some debug
7042
7043 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7044
7045         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7046         (gst_base_transform_prepare_output_buf),
7047         (gst_base_transform_handle_buffer):
7048         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7049         (gst_capsfilter_prepare_buf):
7050           Remove the requirement for sub-classes to call the parent
7051           implementation of prepare_output_buffer with a wrapper function.
7052           
7053         * gst/gsttaglist.h:
7054         * gst/gsttagsetter.h:
7055           Fix #define wrapper
7056
7057 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7058
7059         * docs/gst/gstreamer-sections.txt:
7060           more doc cleanups
7061
7062 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7063
7064         * docs/gst/gstreamer-sections.txt:
7065         * docs/gst/tmpl/gstelement.sgml:
7066         * docs/gst/tmpl/gstplugin.sgml:
7067         * gst/gstminiobject.c:
7068         * gst/gstvalue.h:
7069           docs now stop throwing warnings
7070
7071 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7072
7073         * docs/gst/gstreamer-sections.txt:
7074         * docs/gst/gstreamer.types:
7075         * docs/gst/tmpl/gstpad.sgml:
7076         * docs/gst/tmpl/gsttypes.sgml:
7077         * gst/base/gstadapter.h:
7078         * gst/base/gstbasesink.h:
7079         * gst/base/gstbasesrc.h:
7080         * gst/gstbin.h:
7081         * gst/gstbuffer.h:
7082         * gst/gstbus.h:
7083         * gst/gstcaps.h:
7084         * gst/gstclock.h:
7085         * gst/gstelement.h:
7086         * gst/gstevent.h:
7087         * gst/gstmessage.h:
7088         * gst/gstpad.h:
7089         * gst/gststructure.c:
7090         * gst/registries/gstlibxmlregistry.h:
7091           various documentation fixes
7092
7093 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7094
7095         * docs/gst/gstreamer-sections.txt:
7096         * docs/gst/tmpl/gstvalue.sgml:
7097           rearrange gstvalue section
7098         * gst/gstutils.c: (gst_element_state_get_name):
7099           NONE -> VOID
7100         * gst/gstvalue.c: (_gst_value_initialize):
7101         * gst/gstvalue.h:
7102           doc updates
7103
7104 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7105
7106         * check/gst-libs/controller.c:
7107           Header include fix.
7108         * gst/base/gstbasetransform.c:
7109         (gst_base_transform_default_prepare_buf),
7110         (gst_base_transform_handle_buffer):
7111         * gst/base/gstbasetransform.h:
7112           Some more basetransform changes and fixes to enable sub-classes
7113           that modify buffer metadata only.
7114         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7115         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7116         (gst_capsfilter_prepare_buf):
7117           If the output pad has fixed allowed caps and input buffers 
7118           don't have any, set the fixed caps on outgoing buffers.
7119
7120 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7121         * check/elements/identity.c: (GST_START_TEST):
7122           Make the error a little clearer when the test fails because
7123           identity made a copy of the buffer.
7124         * docs/gst/gstreamer-sections.txt:
7125           New symbols in gstbasetransform.h
7126         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7127         (gst_base_transform_init), (gst_base_transform_transform_size),
7128         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7129         (gst_base_transform_default_prepare_buf),
7130         (gst_base_transform_get_unit_size),
7131         (gst_base_transform_buffer_alloc),
7132         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7133         (gst_base_transform_change_state),
7134         (gst_base_transform_set_passthrough),
7135         (gst_base_transform_set_in_place),
7136         (gst_base_transform_is_in_place):
7137         * gst/base/gstbasetransform.h:
7138           Change BaseTransform to separate in_place operate from same_caps
7139           output. in_place implies that the element can perform the transform
7140           on incoming buffers in-place, even if the caps on the output are
7141           different.
7142           Sub-class elements can now implement special buffer allocation
7143           methods for outgoing buffers if they wish to.
7144           Big documentation addition.
7145         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7146         * gst/elements/gstelements.c:
7147           Changes for basetransform modifications.
7148         * gst/elements/Makefile.am:
7149         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7150           Compile fix. Extra debug output.
7151
7152 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7153
7154         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7155         (gst_pad_suite):
7156           add tests for valid pad naming
7157         * gst/check/gstcheck.c: (gst_check_log_message_func),
7158         (gst_check_log_critical_func):
7159           add ASSERT_WARNING
7160           remove printing of code, it is fragile when the code contains
7161           % and the line number is enough info
7162         * gst/check/gstcheck.h:
7163         * gst/gstpad.c: (gst_pad_template_new):
7164           fix memleaks
7165
7166 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7167
7168         * configure.ac:
7169           say what CHECK flags we use
7170         * docs/libs/gstreamer-libs.types:
7171         * libs/gst/controller/Makefile.am:
7172         * libs/gst/controller/gst-controller.c:
7173         * libs/gst/controller/gst-controller.h:
7174         * libs/gst/controller/gst-helper.c:
7175         * libs/gst/controller/gst-interpolation.c:
7176         * libs/gst/controller/gstcontroller.c:
7177         * libs/gst/controller/gsthelper.c:
7178         * libs/gst/controller/gstinterpolation.c:
7179         * tools/gst-inspect.c: (print_plugin_info):
7180           we don't use dashes in header names
7181
7182 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7183
7184         * check/Makefile.am:
7185         * check/gst/.cvsignore:
7186         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7187         (gst_pipeline_suite), (main):
7188           adding a test for pipelines and state changes
7189         * gst/gstutils.c: (get_state_func):
7190           add some debugging
7191         * gstreamer.spec.in:
7192           fix up spec file
7193
7194 2005-09-08  Michael Smith <msmith@fluendo.com>
7195
7196         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7197         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7198         (gst_file_src_is_seekable), (gst_file_src_get_size),
7199         (gst_file_src_start):
7200         * gst/elements/gstfilesrc.h:
7201           Various fixes for unseekable, unmmapable, and non-normal files, so
7202           that fallback to read() rather than mmap() works.
7203         * gst/gstevent.c: (gst_event_new_newsegment):
7204           Allow newsegment events with segment_start == segment_end, as will
7205           correctly happen if you use filesrc on a zero-size file, for
7206           example.
7207
7208 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7209
7210         * gst/gstplugin.c: (gst_plugin_load_file):
7211           Call g_module_close when we don't load the module
7212
7213         * gst/registries/gstlibxmlregistry.c:
7214         (gst_xml_registry_get_property):
7215           Port leak fix from 0.8
7216
7217 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7218
7219         * docs/gst/gstreamer-docs.sgml:
7220         * docs/gst/tmpl/.cvsignore:
7221         * docs/gst/tmpl/gsttrace.sgml:
7222         * docs/gst/tmpl/gsttrashstack.sgml:
7223         * gst/Makefile.am:
7224         * gst/gst.h:
7225         * gst/gstelement.h:
7226         * gst/gstevent.h:
7227         * gst/gstmessage.c:
7228         * gst/gstmessage.h:
7229         * gst/gsttag.c:
7230         * gst/gsttag.h:
7231         * gst/gsttaginterface.c:
7232         * gst/gsttaginterface.h:
7233         * gst/gsttaglist.c:
7234         * gst/gsttaglist.h:
7235         * gst/gsttagsetter.c:
7236         * gst/gsttagsetter.h:
7237         * gst/gsttrace.c:
7238         * gst/gsttrace.h:
7239         * gst/gsttrashstack.c:
7240           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7241           inlined docs for gsttrace, gsttrashstack
7242
7243 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7244
7245         * gst/Makefile.am:
7246         * gst/elements/gstbufferstore.h:
7247         * gst/elements/gsttypefindelement.c:
7248         * gst/elements/gsttypefindelement.h:
7249         * gst/gst.h:
7250         * gst/gsttypefind.c:
7251         * gst/gsttypefind.h:
7252         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7253         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7254         (gst_type_find_factory_dispose),
7255         (gst_type_find_factory_unload_thyself),
7256         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7257         (gst_type_find_factory_get_caps),
7258         (gst_type_find_factory_get_extensions),
7259         (gst_type_find_factory_call_function):
7260         * gst/gsttypefindfactory.h:
7261         * gst/registries/gstlibxmlregistry.c:
7262         * gst/registries/gstxmlregistry.c:
7263           splitted gsttypefind into gsttypefind, gsttypefindfactory
7264
7265 2005-09-07  Andy Wingo  <wingo@pobox.com>
7266
7267         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7268         condition whereby the pad's task function is entered before the
7269         pad_mode variable was set.
7270
7271 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7272
7273         * gst/gstpad.c: (gst_pad_alloc_buffer):
7274           Catch misbehaving pad_alloc functions that don't
7275           set up caps and do it for them.
7276
7277 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7278
7279         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7280           test for pipe!=NULL
7281         * docs/gst/tmpl/.cvsignore:
7282         * docs/gst/tmpl/gstmemchunk.sgml:
7283         * docs/gst/tmpl/gstparse.sgml:
7284         * docs/gst/tmpl/gsttaglist.sgml:
7285         * docs/gst/tmpl/gsttagsetter.sgml:
7286         * docs/gst/tmpl/gsttypefind.sgml:
7287         * docs/gst/tmpl/gsttypefindfactory.sgml:
7288         * gst/gstmemchunk.c:
7289         * gst/gstparse.c:
7290         * gst/gsttag.c:
7291         * gst/gsttaginterface.c:
7292         * gst/gsttypefind.c:
7293         * gst/gsttypefind.h:
7294           inlined more docs
7295
7296 === release 0.9.2 ===
7297
7298 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7299
7300         * NEWS:
7301         * RELEASE:
7302         * configure.ac:
7303           releasing 0.9.2, "South"
7304
7305 2005-09-05  Andy Wingo  <wingo@pobox.com>
7306
7307         * gst/registries/gstxmlregistry.h:
7308         * gst/registries/gstxmlregistry.c: Um... resurrect...
7309         
7310         * gst/registries/gstxmlregistry.h:
7311         * gst/registries/gstxmlregistry.c: and update to newer API.
7312         Incidentally they should be a bit faster now that they don't have
7313         to parse the caps.
7314         
7315 2005-09-05  Andy Wingo  <wingo@pobox.com>
7316
7317         * gst/registries/gstxmlregistry.h:
7318         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7319         replaced by the libxml registry a while back
7320
7321 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7322
7323         * docs/gst/tmpl/gstplugin.sgml:
7324         * gst/elements/gstelements.c:
7325         * gst/gst.c:
7326         * gst/gstplugin.c: (gst_plugin_register_func),
7327         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7328         (gst_plugin_get_source):
7329         * gst/gstplugin.h:
7330         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7331         (gst_xml_registry_save_plugin):
7332         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7333         (gst_xml_registry_save_plugin):
7334         * tools/gst-inspect.c: (print_plugin_info):
7335           add a "source" plugin description field, to represent the source
7336           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7337           will set it to PACKAGE, which is automake's idea of the name of
7338           the source project.
7339
7340 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7341
7342         * Makefile.am:
7343         * autogen.sh:
7344         * configure.ac:
7345         * docs/Makefile.am:
7346         * docs/faq/Makefile.am:
7347         * docs/gst/tmpl/gstelement.sgml:
7348         * docs/gst/tmpl/gsttypes.sgml:
7349         * docs/htmlinstall.mak:
7350         * docs/manual/Makefile.am:
7351         * docs/pwg/Makefile.am:
7352           reorganize doc build a little
7353           split out docbook and gtk-doc stuff
7354           have two separate --enable's and enable them through autogen
7355           but disable by default in configure (to be similar to other
7356           projects)
7357         * gstreamer.spec.in:
7358           clean up docs install
7359         * po/af.po:
7360         * po/az.po:
7361         * po/ca.po:
7362         * po/cs.po:
7363         * po/de.po:
7364         * po/en_GB.po:
7365         * po/fr.po:
7366         * po/it.po:
7367         * po/nb.po:
7368         * po/nl.po:
7369         * po/ru.po:
7370         * po/sq.po:
7371         * po/sr.po:
7372         * po/sv.po:
7373         * po/tr.po:
7374         * po/uk.po:
7375         * po/vi.po:
7376           translation updates
7377
7378 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7379
7380         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7381           Add comment.
7382           
7383         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7384         (gst_fake_sink_change_state):
7385           Make state change function thread-safe.
7386           
7387         * gst/gstpad.c: (gst_pad_alloc_buffer):
7388           Set offset on generic buffer allocated by fallback.
7389
7390 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7391
7392         * docs/gst/gstreamer-sections.txt:
7393         * docs/gst/tmpl/gstelement.sgml:
7394         * gst/gstpad.c:
7395         * libs/gst/controller/gst-controller.c:
7396         (gst_controlled_property_set_interpolation_mode),
7397         (gst_controlled_property_new),
7398         (gst_controller_find_controlled_property):
7399          run the wingo-magic script against the docs
7400
7401 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7402
7403         * docs/gst/gstreamer-docs.sgml:
7404         * docs/gst/gstreamer-sections.txt:
7405         * docs/gst/tmpl/.cvsignore:
7406         * docs/gst/tmpl/gstelementdetails.sgml:
7407         * docs/gst/tmpl/gstelementfactory.sgml:
7408         * gst/gst.c:
7409         * gst/gstbus.c:
7410         * gst/gstelementfactory.c:
7411         * gst/gstelementfactory.h:
7412           merged elementdetails docs into elementfactory docs
7413           inlined both
7414
7415 2005-09-02  Andy Wingo  <wingo@pobox.com>
7416
7417         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7418         consider this enum an enum and not a flags.
7419
7420 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7421
7422         * docs/gst/gstreamer-docs.sgml:
7423         * docs/gst/tmpl/.cvsignore:
7424         * docs/gst/tmpl/gstghostpad.sgml:
7425         * docs/gst/tmpl/gstiterator.sgml:
7426         * docs/gst/tmpl/gstmacros.sgml:
7427         * docs/gst/tmpl/gstrealpad.sgml:
7428         * docs/gst/tmpl/gstregistry.sgml:
7429         * docs/gst/tmpl/gstregistrypool.sgml:
7430         * docs/gst/tmpl/gststructure.sgml:
7431         * docs/gst/tmpl/gstsystemclock.sgml:
7432         * docs/gst/tmpl/gsttrace.sgml:
7433         * gst/gstghostpad.c:
7434         * gst/gstmacros.h:
7435         * gst/gstmemchunk.c:
7436         * gst/gstmemchunk.h:
7437         * gst/gstqueue.c:
7438         * gst/gstregistry.c:
7439         * gst/gstregistrypool.c:
7440         * gst/gststructure.c:
7441         * gst/gstsystemclock.c:
7442           more docs inlined
7443
7444 2005-09-02  Andy Wingo  <wingo@pobox.com>
7445
7446         * gst/gstelement.h (GstState): Renamed from GstElementState,
7447         changed to be a normal enum instead of flags.
7448         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7449         munged to be GST_STATE_CHANGE_*.
7450         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7451         work with the new state representation.
7452         (GstStateChange): New enumeration of possible state transitions.
7453         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7454         (GstElementClass::change_state): Pass the GstStateChange along as
7455         an argument. Helps language bindings, so they don't have to use
7456         tricky lock-needing macros like GST_STATE_CHANGE ().
7457
7458         * scripts/update-states (file): New script. Run it on a file to
7459         update it for state naming and API changes. Updates files in
7460         place.
7461
7462         * All files updated for the new API.
7463
7464 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7465
7466         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7467         * gst/gstutils.c: (gst_util_set_value_from_string),
7468         (gst_util_set_object_arg):
7469           fix a bunch of unchecked return values
7470         * tools/gst-complete.c: (main):
7471         * gstreamer.spec.in:
7472           clean up a little
7473
7474 2005-09-01  Wim Taymans  <wim@fluendo.com>
7475
7476         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7477         (gst_base_sink_event), (gst_base_sink_do_sync),
7478         (gst_base_sink_handle_event):
7479         * gst/base/gstbasesink.h:
7480         Handle newsegments more correctly.
7481
7482         * gst/gstbus.c:
7483         Fix docs.
7484
7485         * gst/gstevent.c: (gst_event_new_newsegment):
7486         A newsegment cannot have a start_time of -1
7487
7488 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7489
7490         * win32/gstenumtypes.c:
7491         * win32/gstenumtypes.h:
7492           Update
7493
7494 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7495
7496         * libs/gst/controller/gst-controller.c:
7497         (gst_controlled_property_set_interpolation_mode),
7498         (gst_controlled_property_new):
7499          fixed boolean again
7500
7501 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7502
7503         * docs/faq/gst-uninstalled:
7504           add -good
7505         * gst/gstevent.c:
7506         * gst/gstevent.h:
7507           remove wrong docs
7508         * gst/gstutils.c: (gst_element_link_filtered):
7509         * gst/gstutils.h:
7510           add gst_element_link_filtered
7511
7512 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7513
7514         * docs/gst/gstreamer-docs.sgml:
7515         * docs/gst/gstreamer-sections.txt:
7516         * docs/gst/tmpl/.cvsignore:
7517         * docs/gst/tmpl/gsterror.sgml:
7518         * docs/gst/tmpl/gstfilter.sgml:
7519         * docs/gst/tmpl/gsturihandler.sgml:
7520         * docs/gst/tmpl/gsturitype.sgml:
7521         * docs/gst/tmpl/gstutils.sgml:
7522         * docs/gst/tmpl/gstxml.sgml:
7523         * gst/gsterror.c:
7524         * gst/gsterror.h:
7525         * gst/gstfilter.c:
7526         * gst/gsturi.c:
7527         * gst/gsturitype.c:
7528         * gst/gstutils.c:
7529         * gst/gstxml.c:
7530           inlined more docs, fixed double id-ref
7531
7532 2005-08-31  Wim Taymans  <wim@fluendo.com>
7533
7534         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7535         (gst_base_transform_handle_buffer):
7536         Passthrough elements don't need the caps as they don't care.
7537
7538 2005-08-31  Wim Taymans  <wim@fluendo.com>
7539
7540         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7541         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7542         Don't leak refcounts on buffers.
7543
7544 2005-08-31  Wim Taymans  <wim@fluendo.com>
7545
7546         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7547         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7548         (gst_base_transform_chain), (gst_base_transform_change_state):
7549         * gst/base/gstbasetransform.h:
7550         Handle the case where we are not negotiated more gracefully.
7551
7552 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7553
7554         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7555         (gst_file_src_map_region):
7556           Set READONLY flag on mmap'ed buffers, otherwise
7557           gst_buffer_make_writable() won't work properly (#314708).
7558
7559 2005-08-31  Wim Taymans  <wim@fluendo.com>
7560
7561         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7562         passthrough elements can even do inplace on non writable
7563         buffers (as they don't touch them).
7564
7565 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7566
7567         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7568         (gst_test_mono_source_set_property),
7569         (gst_test_mono_source_class_init), (GST_START_TEST),
7570         (gst_controller_suite):
7571           more tests (hehe I have the most)
7572         * gst/gstbus.c:
7573           describe popping messages whenusing mulltiple sources
7574         * libs/gst/controller/gst-controller.c:
7575         (gst_controlled_property_set_interpolation_mode),
7576         (gst_controlled_property_new):
7577         * libs/gst/controller/gst-controller.h:
7578         * libs/gst/controller/gst-interpolation.c:
7579           implement boolean properties
7580
7581 2005-08-31  Wim Taymans  <wim@fluendo.com>
7582
7583         * gst/gstminiobject.c: (gst_mini_object_ref):
7584         Cannot assert that the refcount has to be positive
7585         since a disposed object can be resurrected.
7586
7587 2005-08-31  Wim Taymans  <wim@fluendo.com>
7588
7589         * gst/gstpad.c: (gst_pad_init):
7590         Revert change, need to first fix badly behaving 
7591         apps.
7592
7593 2005-08-30  Wim Taymans  <wim@fluendo.com>
7594
7595         * check/elements/fakesrc.c: (setup_fakesrc):
7596         * check/elements/identity.c: (setup_identity):
7597         Activate pads before using them.
7598
7599 2005-08-30  Wim Taymans  <wim@fluendo.com>
7600
7601         * gst/base/gstadapter.c: (gst_adapter_flush):
7602         Flushing out 0 bytes is ok for this function.
7603
7604         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7605         no newsegment gives a warning and sets the start/stop to 
7606         invalid.
7607
7608         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7609         (gst_base_transform_set_passthrough):
7610         Some debug info.
7611
7612         * gst/gstminiobject.c: (gst_mini_object_ref):
7613         Check refcount here too.
7614
7615         * gst/gstpad.c: (gst_pad_init):
7616         Pads are initially flushing and refusing data.
7617
7618         * gst/gstutils.c: (gst_element_link_pads_filtered):
7619         When adding a capsfilter element make sure it has the
7620         same state as the parent bin.
7621
7622 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7623
7624         * docs/gst/tmpl/.cvsignore:
7625         * docs/gst/tmpl/gstformat.sgml:
7626         * docs/gst/tmpl/gstversion.sgml:
7627         * gst/gstbus.h:
7628         * gst/gstformat.c:
7629         * gst/gstformat.h:
7630         * gst/gstversion.h.in:
7631           more docs and two more inlined
7632
7633 2005-08-30  Wim Taymans  <wim@fluendo.com>
7634
7635         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7636         Don't sync to clock.
7637
7638 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7639
7640         * docs/gst/gstreamer-sections.txt:
7641           ultral33t func10ns deserve to appear in the docs actually
7642         * docs/gst/tmpl/.cvsignore:
7643         * docs/gst/tmpl/gstcompat.sgml:
7644         * docs/gst/tmpl/gstconfig.sgml:
7645         * gst/check/gstcheck.c:
7646         * gst/gstcompat.h:
7647         * gst/gstconfig.h.in:
7648           inlined more docs
7649
7650 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7651
7652         * docs/gst/tmpl/.cvsignore:
7653         * docs/gst/tmpl/gstquery.sgml:
7654         * docs/gst/tmpl/gstutils.sgml:
7655         * gst/gstquery.c:
7656         * gst/gstquery.h:
7657           inlined and extended docs
7658
7659 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7660
7661         * check/gst-libs/controller.c: (GST_START_TEST),
7662         (gst_controller_suite):
7663           more tests
7664         * docs/gst/tmpl/gstutils.sgml:
7665         * docs/libs/gstreamer-libs-sections.txt:
7666         * docs/libs/tmpl/gstdataprotocol.sgml:
7667           include path fixes
7668         * examples/controller/audio-example.c: (main):
7669           controller example works now
7670         * gst/gstclock.h:
7671           doc fixes
7672         * tools/gst-inspect.c: (print_element_properties_info):
7673           show param spec flags
7674
7675 2005-08-29  Andy Wingo  <wingo@pobox.com>
7676
7677         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7678
7679 2005-08-28  Andy Wingo  <wingo@pobox.com>
7680
7681         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7682         as having two arguments instead of just one. Allows superclasses
7683         to access information on subclasses -- see the terrible for() loop
7684         in gtype.c:g_type_create_instance for the reason why. All callers
7685         changed.
7686
7687 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7688
7689         * docs/design/part-messages.txt:
7690           update info
7691         * docs/gst/tmpl/.cvsignore:
7692         * docs/gst/tmpl/gstcaps.sgml:
7693         * docs/gst/tmpl/gstclock.sgml:
7694         * gst/gstbus.c:
7695         * gst/gstcaps.c:
7696         * gst/gstcaps.h:
7697         * gst/gstclock.c:
7698         * gst/gstclock.h:
7699         * gst/gstmessage.c:
7700           added descriptions for bus and message
7701           inline caps and clock docs
7702
7703 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7704
7705         * gst/gstmessage.c:
7706         * gst/gstmessage.h:
7707           doc fixes
7708
7709 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7710
7711         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7712           fix div-by-zero
7713
7714 2005-08-26  Andy Wingo  <wingo@pobox.com>
7715
7716         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7717         element_set_state's return val.
7718         (test_2_elements): Add test that's been disabled for months.
7719
7720         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7721         can-activate-pull properties.
7722
7723         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7724         can-activate-pull properties. Implement is_seekable so fakesrc can
7725         operate in pull mode.
7726
7727         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7728         properties.
7729         (gst_base_sink_activate, gst_base_sink_activate_pull)
7730         (gst_base_sink_activate_push): Make activation mode choosing work.
7731         Cleanups.
7732         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7733         is right. Make pull mode work. Post an eos before pausing in pull
7734         mode.
7735         (gst_base_sink_change_state): Pay attention to the core's
7736         change_state() return val.
7737         
7738         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7739         has-getrange properties. Cleanups.
7740         
7741         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7742         has_getrange and replace with can_activate_pull and
7743         can_activate_push.
7744
7745         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7746         locking comments. Remove has_loop, has_chain and replace with
7747         can_activate_pull and can_activate_push.
7748
7749 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7750
7751         * configure.ac:
7752         * examples/Makefile.am:
7753         * examples/metadata/Makefile.am:
7754         * examples/metadata/read-metadata.c: (message_loop),
7755         (have_pad_handler), (make_pipeline), (print_tag), (main):
7756           Add metadata reading example that loops over a list of filenames,
7757           dumping any tags found.
7758
7759         * gst/gstbus.c: (gst_bus_dispose):
7760         * gst/gstelement.c: (gst_element_dispose):
7761           Release a few potentially-held references in dispose.
7762
7763 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7764
7765         * docs/gst/tmpl/gstminiobject.sgml:
7766           do *not* add tmpl/*.sgml files to CVS!
7767
7768 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7769
7770         * libs/gst/bytestream/.cvsignore:
7771         * libs/gst/bytestream/Makefile.am:
7772         * libs/gst/bytestream/adapter.c:
7773         * libs/gst/bytestream/adapter.h:
7774         * libs/gst/bytestream/bytestream.c:
7775         * libs/gst/bytestream/bytestream.h:
7776         * libs/gst/bytestream/filepad.c:
7777         * libs/gst/bytestream/filepad.h:
7778           removing obsolete files
7779
7780 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7781
7782         * docs/gst/gstreamer-docs.sgml:
7783         * docs/libs/gstreamer-libs-docs.sgml:
7784           disabed additional index entries again, as this makes docs-gen just
7785           slow and they aren't useful yet
7786         * docs/libs/gstreamer-libs-sections.txt:
7787           little -section.txt cleanup for libs
7788
7789 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7792         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7793           fix up some debugging
7794         (gst_base_transform_get_unit_size),
7795         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7796         (gst_base_transform_handle_buffer):
7797         * gst/base/gstbasetransform.h:
7798           handle and store timed NEWSEGMENT events so that subclasses that
7799           calculate time by counting samples have a segment_start time they
7800           need to add to their timestamps - see audioresample
7801
7802 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * gst/gstbin.h:
7805           removed ';' from the end of macro defs
7806         * docs/gst/gstreamer-docs.sgml:
7807         * docs/gst/gstreamer-sections.txt:
7808         * docs/gst/tmpl/.cvsignore:
7809         * gst/gstbus.h:
7810         * gst/gstelement.c: (gst_element_class_init),
7811         (gst_element_set_state), (activate_pads),
7812         (gst_element_save_thyself):
7813         * gst/gstevent.c: (gst_event_new_newsegment):
7814         * gst/gstevent.h:
7815         * gst/gstiterator.c:
7816         * gst/gstiterator.h:
7817         * gst/gstpad.c:
7818         * gst/gstprobe.h:
7819         * gst/gstutils.c: (gst_pad_query_convert):
7820         * gst/gstutils.h:
7821           fixed parameter name mismatches between source, header and docs
7822           added some more docs, resolved the last batch of unused elements in
7823           docs (now someone needs to doc them)
7824
7825 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7826
7827         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7828         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7829           don't walk through the plugins backwards.  Where is all this
7830           reversed logic coming from ?
7831
7832 2005-08-25  Wim Taymans  <wim@fluendo.com>
7833
7834         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7835         (gst_base_transform_transform_size),
7836         (gst_base_transform_configure_caps),
7837         (gst_base_transform_get_unit_size),
7838         (gst_base_transform_buffer_alloc),
7839         (gst_base_transform_change_state):
7840         * gst/base/gstbasetransform.h:
7841         Cache caps unit_size.
7842         Make sure we cannot negotiate up and downstream at the
7843         same time.
7844
7845 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7846
7847         * gst/gst.c: (init_pre), (init_post):
7848           register the installed plugin path after the env var
7849         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7850         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7851           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7852           directories, so the tests can prefer uninstalled over installed
7853
7854 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7855
7856         * gst/base/gstbasetransform.h:
7857           comment
7858         * gst/gstpad.c:
7859           add to docs
7860
7861 2005-08-25  Wim Taymans  <wim@fluendo.com>
7862
7863         * gst/gstbin.c: (bin_bus_handler):
7864         Be a bit more conservative about the posted message.
7865         
7866         * gst/gstbus.c: (gst_bus_post):
7867         Some cleanups, warn wrong return values.
7868
7869 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7870
7871         * check/gst/gstbin.c: (GST_START_TEST):
7872         * gst/gstbin.c: (bin_bus_handler):
7873         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7874         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7875         (gst_message_new_warning), (gst_message_new_tag),
7876         (gst_message_new_state_changed), (gst_message_new_segment_start),
7877         (gst_message_new_segment_done), (gst_message_new_custom):
7878         * gst/gstmessage.h:
7879         * tools/gst-launch.c: (event_loop):
7880         * tools/gst-md5sum.c: (event_loop):
7881           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7882
7883 2005-08-25  Wim Taymans  <wim@fluendo.com>
7884
7885         * check/generic/states.c: (GST_START_TEST):
7886         Cleanup can be done at the end.
7887
7888         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7889         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7890         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7891         Oh boy.. Thanks for finding this, Thomas. 
7892
7893 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7894
7895         * docs/gst/gstreamer.types:
7896           added missing types
7897
7898 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7899
7900         * docs/gst/gstreamer-docs.sgml:
7901         * docs/gst/gstreamer-sections.txt:
7902         * docs/gst/tmpl/.cvsignore:
7903         * gst/gstbin.c:
7904         * gst/gstiterator.c:
7905         * gst/gstutils.c:
7906         * gst/registries/gstxmlregistry.h:
7907           added missing classes and symbols (123 more to go)
7908           removed removed symbols from section file
7909           fixed many doc-comments
7910
7911 2005-08-24  Wim Taymans  <wim@fluendo.com>
7912
7913         * check/generic/states.c: (GST_START_TEST):
7914         Make sure all tasks are stopped.
7915
7916         * check/gst/gstbin.c: (GST_START_TEST):
7917         Unref after usage for proper valgrinding.
7918
7919         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7920         Really wait for the task to stop before destroying the
7921         mutex.
7922
7923         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7924         (gst_queue_src_activate_push):
7925         Small cleanups. Don't stop the task when we did not start
7926         it.
7927
7928         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7929         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7930         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7931         (gst_task_join):
7932         * gst/gsttask.h:
7933         Protect the stream lock with the object lock.
7934         Disallow setting the stream lock when running.
7935         Add cleanup_all to wait for the threadpool to finish.
7936         Remove code to autoallocate a mutex if none was provided.
7937         Add _join() to wait for a task to stop.
7938         Protect the thread pool with a global lock.
7939
7940 2005-08-24  Wim Taymans  <wim@fluendo.com>
7941
7942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7943         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7944         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7945         * gst/base/gstbasesink.h:
7946         Handle newsegment events correctly.
7947         Drop buffers out of the segment range.
7948
7949 2005-08-22  Andy Wingo  <wingo@pobox.com>
7950
7951         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7952         macro, implements an interface and gstimplementsinterface for a
7953         new type.
7954
7955 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7956
7957         * check/Makefile.am:
7958         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7959           add a test that does a bunch of state changes on elements
7960           needs some fixing for valgrind
7961         * check/states/sinks.c: (gst_object_suite):
7962           whitespace
7963         * gst/gstcaps.h:
7964           add prototype for gst_caps_is_equal_fixed
7965         * gst/gstplugin.c:
7966         * gst/gstregistrypool.c:
7967           doc fixes
7968
7969 2005-08-24  Andy Wingo  <wingo@pobox.com>
7970
7971         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7972         convert a negative value. Doesn't make much sense. Mostly this is
7973         here to force callers to ensure -1 maps to -1.
7974
7975 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7976
7977         * docs/pwg/advanced-types.xml:
7978           Well done to Michael for catching my deliberate introduction
7979           of this spelling mistake. 
7980         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7981         * gst/gstelement.h:
7982           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7983           unlink pads before removing the element from the bin.
7984
7985 2005-08-24  Andy Wingo  <wingo@pobox.com>
7986
7987         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7988         the same thing as GST_DEBUG=*:4.
7989         (parse_debug_level, parse_debug_category): New helper parsers.
7990
7991 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7992
7993         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7994         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7995         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7996         (gst_base_transform_buffer_alloc),
7997         (gst_base_transform_handle_buffer):
7998           use gboolean return values and pointers to size so we can use the
7999           full GST_BUFFER_SIZE range (guint) for buffer sizes
8000           use GstPadDirection for transform_caps
8001         * gst/base/gstbasetransform.h:
8002           rename get_size to get_unit_size since that's what it is
8003         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8004           use GstPadDirection for transform_caps
8005         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8006         * gst/gstutils.h:
8007           cleanup and debugging
8008
8009 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8010
8011         * gst/gstelement.c: (gst_element_class_init),
8012         (gst_element_set_state), (activate_pads),
8013         (gst_element_save_thyself):
8014         * tools/gst-compprep.c: (main):
8015         * tools/gst-inspect.c: (print_element_properties_info):
8016         * tools/gst-xmlinspect.c: (print_element_properties):
8017           Fixed long standing mem-leak
8018
8019 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8020
8021         * check/gst/gstbin.c: (GST_START_TEST):
8022         * gst/gstbin.c: (bin_bus_handler):
8023         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8024         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8025         (gst_message_new_warning), (gst_message_new_tag),
8026         (gst_message_new_state_changed), (gst_message_new_segment_start),
8027         (gst_message_new_segment_done), (gst_message_new_custom):
8028         * gst/gstmessage.h:
8029         * tools/gst-launch.c: (event_loop):
8030         * tools/gst-md5sum.c: (event_loop):
8031           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8032           that applications can sensibly post custom messages with references
8033           to their own objects.
8034
8035 2005-08-24  Andy Wingo  <wingo@pobox.com>
8036
8037         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8038         already.
8039
8040 2005-08-24  Wim Taymans  <wim@fluendo.com>
8041
8042         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8043         (gst_base_transform_transform_caps),
8044         (gst_base_transform_transform_size),
8045         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8046         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8047         (gst_base_transform_handle_buffer):
8048         * gst/base/gstbasetransform.h:
8049         Many fixes and new features added by Thomas. Can now also do
8050         transforms with variable sizes and a custom fixate_caps function.
8051
8052 2005-08-24  Wim Taymans  <wim@fluendo.com>
8053
8054         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8055         Some debugging.
8056
8057         * gst/gstclock.h:
8058         Cast to ClockTime before formatting to time.
8059
8060         * gst/gstutils.h:
8061         Cleanups.
8062
8063 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8064
8065         * check/gst-libs/controller.c: (GST_START_TEST),
8066         (gst_controller_suite):
8067         * docs/gst/tmpl/gstcaps.sgml:
8068         * docs/gst/tmpl/gstghostpad.sgml:
8069         * docs/gst/tmpl/gstquery.sgml:
8070         * docs/gst/tmpl/gstutils.sgml:
8071         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8072         (gst_object_sink_values), (gst_object_get_value_arrays),
8073         (gst_object_get_value_array):
8074           gracefully handle helper method calls to objects that are not beeing
8075           controlled, added test case for that          
8076
8077 2005-08-23  Wim Taymans  <wim@fluendo.com>
8078
8079         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8080         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8081         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8082         (gst_event_parse_qos), (gst_event_new_seek),
8083         (gst_event_parse_seek):
8084         * gst/gstevent.h:
8085         Some more debugging output and doc cleanups.
8086
8087         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8088         Fix possible deadlock.
8089
8090 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8091
8092         * docs/gst/gstreamer-docs.sgml:
8093         * docs/gst/gstreamer-sections.txt:
8094         * docs/gst/gstreamer.types:
8095         * docs/gst/tmpl/.cvsignore:
8096         * gst/gstbin.h:
8097         * gst/gstbus.c:
8098         * gst/gstelement.c:
8099         * gst/gstevent.h:
8100           added 100 symbols from gstreamer-unused.txt to the right sections
8101           fixed more broken comments
8102           added GstBus to docs
8103
8104 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8105
8106         * docs/gst/gstreamer-sections.txt:
8107         * docs/gst/tmpl/.cvsignore:
8108         * docs/gst/tmpl/gstbin.sgml:
8109         * docs/gst/tmpl/gstbuffer.sgml:
8110         * gst/base/gstbasesrc.c:
8111         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8112         * gst/gstbuffer.c:
8113         * gst/gstbuffer.h:
8114         * tools/gst-launch.1.in:
8115           inlined more doc comments, added missing comments and fixed comments
8116           fixed typos
8117
8118 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8119
8120         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8121           some debugging
8122         * gst/gstcaps.h:
8123           whitespace fixes
8124         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8125           more debugging
8126         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8127         * gst/gststructure.h:
8128           add a fixate function for booleans; add a FIXME that these func
8129           names should probably be gst_structure_fixate_*
8130
8131 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8132
8133         * docs/gst/gstreamer-docs.sgml:
8134         * docs/gst/gstreamer-sections.txt:
8135         * gst/Makefile.am:
8136         * gst/gstbin.c: (gst_bin_get_type),
8137         (gst_bin_child_proxy_get_child_by_index),
8138         (gst_bin_child_proxy_get_children_count),
8139         (gst_bin_child_proxy_init):
8140         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8141         (gst_child_proxy_get_child_by_index),
8142         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8143         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8144         (gst_child_proxy_get), (gst_child_proxy_set_property),
8145         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8146         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8147         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8148         * gst/gstchildproxy.h:
8149         * gst/parse/grammar.y:
8150         * tools/gst-inspect.c: (print_interfaces),
8151         (print_element_properties_info), (print_element_info):
8152           ported gstchildproxy over from 0.8
8153           ported gst-inspect fixes and enhancements over from 0.8
8154
8155 2005-08-22  Wim Taymans  <wim@fluendo.com>
8156
8157         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8158         (gst_base_transform_handle_buffer):
8159         Also call the transform function if we have ANY caps.
8160
8161         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8162         Fix debug info.
8163
8164 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8165
8166         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8167           Don't pretend to handle seek events if the source is not seekable
8168
8169 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8170
8171         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8172           Remove extra parameter to debug output
8173
8174         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8175         (gst_base_src_do_seek), (gst_base_src_activate_push):
8176           Fix seek event handling.
8177
8178         * gst/gstpipeline.c: (gst_pipeline_change_state):
8179         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8180         (gst_queue_src_activate_push):
8181           Don't start the src pad task on FLUSH_STOP if the pad
8182           isn't linked.
8183           Debug changes.
8184
8185 2005-08-22  Wim Taymans  <wim@fluendo.com>
8186
8187         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8188         Added check for gst_static_caps_get() refcounting.
8189
8190 2005-08-22  Wim Taymans  <wim@fluendo.com>
8191
8192         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8193         Make _static_caps_get() refcounting sane.
8194         
8195         * gst/gstelement.c: (gst_element_set_state):
8196         Add g_return_val_if_fail() to protect against segfaults.
8197
8198 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8199
8200         * docs/gst/tmpl/gstevent.sgml:
8201         * gst/gstevent.c:
8202         * gst/gstevent.h:
8203           inlined remaining docs, added missing doc comments
8204
8205 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8206
8207         * check/gst/gstbin.c: (GST_START_TEST):
8208           since we don't know when preroll is done, use refcount range
8209           check for the sink
8210         * gst/check/gstcheck.h:
8211           add macro for checking refcount range
8212
8213 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8214
8215         * check/Makefile.am:
8216           clean up environment for when registry gets built versus
8217           when actual tests are run; valgrind seems to not report
8218           leaks if GST_PLUGIN_PATH is set to some specific values
8219         * check/gst/gstbin.c: (GST_START_TEST):
8220           add more refcounting checks; maybe this exposes a
8221           preroll lock bug ?
8222         * common/check.mak:
8223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8224         * gst/check/gstcheck.h:
8225         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8226         (gst_bin_change_state):
8227         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8228           add/fix debugging/whitespace
8229
8230 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8231
8232         * check/gst/gstevent.c: (event_probe), (test_event),
8233         (GST_START_TEST):
8234          Er, don't call gst_bin_watch_for_state_change you idiot.
8235
8236 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8237
8238         * check/Makefile.am:
8239           Use CHECK_CFLAGS and CHECK_LIBS
8240         * check/gst/gstevent.c: (event_probe), (test_event),
8241         (GST_START_TEST):
8242           Don't leak events.
8243         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8244         (gst_base_src_start), (gst_base_src_stop),
8245         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8246         (gst_base_src_change_state):
8247           Sprinkle gst_base_src_stop liberally around error paths to fix
8248           problems reusing a source after failed state changes.
8249         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8250         (helper_find_suggest), (gst_type_find_helper):
8251           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8252         * gst/gstevent.h:
8253         * docs/gst/tmpl/gstevent.sgml:
8254           Migrate part of the docs from the SGML file. Wait for ensonic to
8255           tell me how I did it wrong ;)
8256         * tools/gst-typefind.c: (main):
8257           Extra robustness to state changes between files.
8258
8259 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8260
8261         * check/Makefile.am:
8262           don't valgrind the controller test - it's leaking - Stefan, HELP
8263         * gst/check/gstcheck.c: (gst_check_message_error),
8264         (gst_check_chain_func), (gst_check_setup_element),
8265         (gst_check_teardown_element), (gst_check_setup_src_pad),
8266         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8267         (gst_check_teardown_sink_pad):
8268         * gst/check/gstcheck.h:
8269           add a bunch of methods to set up elements, and src and sink pads
8270         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8271         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8272         (GST_START_TEST):
8273           use them
8274         * gst/gstmessage.c:
8275         * gst/gsttag.h:
8276           whitespace/doc fixes
8277
8278 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8279
8280         * gst/gstelement.h:
8281           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8282           be handled by the application and not always printed as well
8283
8284 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8285
8286         * check/Makefile.am:
8287           set GST_TOOLS_DIR
8288         * gst/check/gstcheck.c: (gst_check_message_error):
8289         * gst/check/gstcheck.h:
8290           add a fail_unless_equals_int
8291           add fail_unless for error messages
8292
8293 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         * check/Makefile.am:
8296         * check/gst.supp:
8297         * common/Makefile.am:
8298         * common/check.mak:
8299         * common/gst.supp:
8300           factor out some of the common stuff so we can use it
8301
8302 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8303
8304         * check/Makefile.am:
8305         * check/gst/gstiterator.c: (GST_START_TEST):
8306         * check/gst/gstsystemclock.c: (GST_START_TEST),
8307         (gst_systemclock_suite):
8308         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8309         * gst/gstclock.c:
8310           valgrind more tests
8311
8312 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8313
8314         * check/elements/.cvsignore:
8315         * check/elements/gstfakesrc.c:
8316           rename to name of element
8317         * check/elements/identity.c: (chain_func), (event_func),
8318         (setup_identity), (cleanup_identity), (GST_START_TEST),
8319         (identity_suite), (main):
8320           add a test for identity
8321         * check/Makefile.am:
8322         * pkgconfig/Makefile.am:
8323         * pkgconfig/gstreamer-check.pc.in:
8324         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8325         * gst/check:
8326         * gst/Makefile.am:
8327         * configure.ac:
8328           move the check stuff to a library that gets installed
8329         * check/gst-libs/controller.c: (GST_START_TEST):
8330         * check/gst-libs/gdp.c:
8331         * check/gst/gst.c: (GST_START_TEST):
8332         * check/gst/gstbin.c:
8333         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8334         * check/gst/gstbus.c:
8335         * check/gst/gstcaps.c: (GST_START_TEST):
8336         * check/gst/gstelement.c:
8337         * check/gst/gstghostpad.c:
8338         * check/gst/gstiterator.c:
8339         * check/gst/gstmessage.c:
8340         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8341         * check/gst/gstobject.c:
8342         * check/gst/gstpad.c: (GST_START_TEST):
8343         * check/gst/gststructure.c: (GST_START_TEST):
8344         * check/gst/gstsystemclock.c: (GST_START_TEST),
8345         (gst_systemclock_suite):
8346         * check/gst/gsttag.c: (gst_tag_suite):
8347         * check/gst/gstvalue.c:
8348         * check/pipelines/cleanup.c:
8349         * check/pipelines/simple_launch_lines.c:
8350         * check/states/sinks.c:
8351           change include statement
8352
8353         * docs/gst/gstreamer-sections.txt:
8354         * docs/gst/tmpl/gstpad.sgml:
8355           document more pad stuff
8356         * gst/gstminiobject.c: (gst_mini_object_ref),
8357         (gst_mini_object_unref):
8358           debug refcounting
8359
8360 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8361
8362         * docs/gst/tmpl/gst.sgml:
8363         * gst/gst.c:
8364           eliminate another tmpl file, fix spelling in the long-description
8365
8366 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8367
8368         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8369         (test_event), (timediff), (gstevents_suite):
8370           Should fix build on 64-bit arch's
8371
8372 2005-08-18  Andy Wingo  <wingo@pobox.com>
8373
8374         Make sure that when a pipeline goes to PLAYING, that data has
8375         actually hit the sink.
8376
8377         * check/states/sinks.c (test_sink): A sink that doesn't get any
8378         data shouldn't return SUCCESS for going to either PLAYING or
8379         PAUSED. Test also the return values on the way back down.
8380
8381         * gst/gstelement.c (gst_element_set_state): When changing the
8382         state of an element currently changing state asynchronously, go to
8383         lost-state after commiting the pending state. Makes future calls
8384         to get_state continue to return ASYNC.
8385
8386         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8387         ASYNC when going to PLAYING if we still don't have preroll, as can
8388         happen with live sources.
8389
8390 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8391
8392         * docs/pwg/advanced-types.xml:
8393           Hack long paragraph into 2 chunks as a workaround for buggy
8394           jadetex version in sid and breezy that loops infinitely and
8395           eats all RAM.
8396
8397 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8398
8399         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8400         (test_event), (timediff), (gstevents_suite):
8401           Provide more error margin in clock measurements to allow for 
8402           g_get_current_time inaccuracies.
8403
8404 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8405
8406         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8407         (test_event), (timediff), (gstevents_suite):
8408            Fix error message output so I might be able to tell why the
8409            test works here but fails on the build farm.
8410
8411 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8412
8413         * check/Makefile.am:
8414         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8415         (test_event), (timediff), (gstevents_suite), (main):
8416           I wrote a test!
8417
8418         * docs/design/part-seeking.txt:
8419           Spelling correction
8420
8421         * docs/gst/tmpl/gstevent.sgml:
8422         * docs/gst/tmpl/gstfakesrc.sgml:
8423           Docs updates.
8424
8425         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8426           Treat a buffer-without-newsegment the same as a receiving 
8427           a newsegment not in time format, and disable syncing to the clock
8428           with a warning.
8429
8430         * gst/gstbus.c: (gst_bus_set_sync_handler):
8431           Assert if anyone tries to replace the existing sync_handler for bus, 
8432           as only the owner should be setting it.
8433
8434         * gst/gstevent.h:
8435           Have a fixed set of custom event enums with events identified by
8436           their structure name (as in 0.8), rather than a free-for-all
8437           allowing collisions between enum values from different plugins.
8438
8439         * gst/gstpad.c: (gst_pad_class_init):
8440           Docs change.
8441           
8442         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8443           Handle out-of-band downstream events from the sending thread.
8444
8445 2005-08-17  Andy Wingo  <wingo@pobox.com>
8446
8447         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8448         play-timeout==0 to mean no timeout at all. In that case, don't
8449         bother with a get_state or a warning, just return directly, even
8450         if it's ASYNC.
8451
8452         * gst/base/gstbasetransform.c: Debug changes.
8453
8454         * gst/gstutils.h:
8455         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8456         ensure bins post state change messages. A bit of a hack but I can't
8457         think of a way to avoid it.
8458
8459         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8460
8461 2005-08-16  Andy Wingo  <wingo@pobox.com>
8462
8463         * gst/base/gstadapter.h:
8464         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8465         peek() but you own the data. Not terribly efficient atm.
8466
8467 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8468
8469         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8470         (gst_element_found_tags):
8471         * gst/gstutils.h:
8472           Add two utility functions for tag handling.
8473
8474 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8475
8476         * docs/manual/advanced-dataaccess.xml:
8477         * docs/manual/basics-helloworld.xml:
8478           Fix docs to use _bin_add() before _link(), which fixes the examples
8479           with recent core versions (reported by Madhan Raj M
8480           <raj_madan@rediffmail.com>, #313199).
8481
8482 2005-08-16  Wim Taymans  <wim@fluendo.com>
8483
8484         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8485         Added subtract checks.
8486
8487         * docs/design/part-events.txt:
8488         Some more docs about newsegment
8489
8490         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8491         Fix FIXME
8492
8493         * gst/gstcaps.c: (gst_caps_to_string):
8494         Add comments, cleanups.
8495         
8496         * gst/gstelement.c: (gst_element_save_thyself):
8497         cleanups
8498         
8499         * gst/gstvalue.c: (gst_value_collect_int_range),
8500         (gst_string_unwrap), (gst_value_union_int_int_range),
8501         (gst_value_union_int_range_int_range),
8502         (gst_value_intersect_int_int_range),
8503         (gst_value_intersect_int_range_int_range),
8504         (gst_value_intersect_double_double_range),
8505         (gst_value_intersect_double_range_double_range),
8506         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8507         (gst_value_subtract_int_range_int),
8508         (gst_value_subtract_double_range_double),
8509         (gst_value_subtract_double_range_double_range),
8510         (gst_value_subtract_from_list), (gst_value_subtract_list),
8511         (gst_value_can_compare), (gst_value_compare_fraction):
8512         Cleanups, add comments, remove unneeded asserts.
8513
8514 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8515
8516         * tools/gst-launch.c: (event_loop):
8517           don't convert NULL structures to strings
8518
8519 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8520
8521         * docs/gst/gstreamer-sections.txt:
8522           made some defines private
8523         * docs/gst/tmpl/gstconfig.sgml:
8524         * docs/gst/tmpl/gstqueue.sgml:
8525         * docs/gst/tmpl/gsttaglist.sgml:
8526         * docs/gst/tmpl/gsttypes.sgml:
8527         * docs/gst/tmpl/gstutils.sgml:
8528         * docs/pwg/appendix-porting.xml:
8529         * gst/base/gstbasesink.h:
8530         * gst/base/gstbasesrc.c:
8531         * gst/base/gstbasesrc.h:
8532         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8533         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8534         * gst/gstelement.c: (gst_element_class_init):
8535         * gst/gstpad.c: (gst_pad_class_init):
8536         * gst/gstqueue.c: (gst_queue_class_init):
8537         * gst/gstxml.c: (gst_xml_class_init):
8538           documented all undocumented signal inline
8539         * libs/gst/controller/gst-controller.h:
8540           added padding
8541
8542 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8543
8544         * docs/pwg/appendix-porting.xml:
8545           Document _set_link_function -> _set_setcaps_function.
8546
8547 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8548
8549         * check/Makefile.am:
8550           add a .check target for running the check
8551         * check/gst-libs/controller.c: (GST_START_TEST):
8552           cosmetic fixups
8553         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8554           complete checks for gstbuffer; would be nice if I could get the
8555           gcov stuff to work so I can see if I actually completed gstbuffer.c
8556         * check/gstcheck.h:
8557           add ASSERT_BUFFER_REFCOUNT
8558
8559 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8560
8561         * docs/gst/gstreamer-sections.txt:
8562         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8563         * gst/gsttag.h:
8564           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8565           spew out a warning if a tag that is already registered
8566           is re-registered, unless it is re-registered with a 
8567           different type (#308438).
8568
8569 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8570
8571         * docs/pwg/appendix-porting.xml:
8572         * docs/pwg/building-state.xml:
8573           Add some paragraphs about state changes in 0.9 to the PWG
8574           and the porting guide, in particular about the new meaning
8575           of GST_STATE_PAUSED and how to write state change functions
8576           with concurrent access by multiple threads in mind.
8577
8578 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8579
8580         * docs/gst/gstreamer-docs.sgml:
8581         * docs/libs/gstreamer-libs-docs.sgml:
8582           added deprecation and since indexes
8583         * libs/gst/controller/gst-controller.c:
8584         * libs/gst/controller/gst-helper.c:
8585           added since tags
8586
8587
8588 2005-08-11  Wim Taymans  <wim@fluendo.com>
8589
8590         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8591         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8592         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8593         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8594         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8595         (gst_ghost_pad_set_target):
8596         Actually implement (re)setting the target on a ghostpad
8597         as described in the docs.
8598
8599 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8600
8601         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8602           Check whether GST_DEBUG_NO_COLOR environment variable is
8603           set and disable coloured debug output if that is the case.
8604
8605 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8606
8607         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8608         (gst_type_find_helper):
8609           The memory returned by gst_type_find_peek() needs to
8610           stay valid until the end of a typefind function, and
8611           typefind functions may keep results from different 
8612           offsets around, so we can't just unref the buffer from
8613           the previous _peek(), but have to save all buffers 
8614           returned by _peek() until typefinding is done and only
8615           free them then.
8616
8617 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8618
8619         * docs/gst/gstreamer-sections.txt:
8620         * gst/gstutils.h:
8621           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8622
8623 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8624
8625         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8626           Fix a pretty good memleak.
8627
8628 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8629
8630         * gst/gstiterator.h:
8631           Fix wrong include and 'make distcheck'.
8632
8633 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8634
8635         * gst/gstbin.c: (bin_bus_handler):
8636           Use gst_element_post_message() instead.
8637
8638 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8639
8640         * gst/base/gstadapter.h:
8641         * gst/base/gstbasesink.h:
8642         * gst/base/gstbasesrc.h:
8643         * gst/base/gstbasetransform.h:
8644         * gst/base/gstcollectpads.h:
8645         * gst/base/gstpushsrc.h:
8646         * gst/gstiterator.h:
8647           Add padding to our base elements' class and instance structs and
8648           to GstIterator (you will need to rebuild all plugins and apps!)
8649
8650 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8651
8652         * gst/gstbin.c: (bin_bus_handler):
8653           Make default message forwarding from child->bus to bin->bus
8654           threadsafe and make it not emit warnings if the parent has no bus.
8655
8656 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8657
8658         * gst/gstelement.c: (activate_pads):
8659           On paused->ready, set pad->caps to NULL, as is the documented
8660           behaviour in this state change. Fixes playback of series of
8661           media files when visualization is enabled in Totem.
8662
8663 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8664
8665         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8666           Allow NULL as filter-caps (which means "any").
8667
8668 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8669
8670         * docs/libs/gstreamer-libs-sections.txt:
8671         * libs/gst/controller/gst-controller.c:
8672         * libs/gst/controller/gst-controller.h:
8673         * libs/gst/controller/gst-helper.c:
8674           adding more entries to the docs and fix small doc-bugs
8675
8676 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8677
8678         * docs/gst/gstreamer-docs.sgml:
8679         * docs/gst/gstreamer-sections.txt:
8680         * docs/gst/gstreamer.types:
8681         * docs/gst/tmpl/gstbasesink.sgml:
8682         * docs/gst/tmpl/gstbasesrc.sgml:
8683         * docs/gst/tmpl/gstbasetransform.sgml:
8684         * docs/gst/tmpl/gstfakesrc.sgml:
8685         * gst/base/gstcollectpads.c:
8686         * gst/base/gstcollectpads.h:
8687         * libs/gst/controller/gst-controller.c:
8688         * libs/gst/controller/gst-controller.h:
8689         * libs/gst/controller/gst-helper.c:
8690         * libs/gst/controller/gst-interpolation.c:
8691         * libs/gst/controller/lib.c:
8692           added long/short desc for controller docs
8693           added collectpads base class docs
8694           added correct includes to base-class docs
8695
8696 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8697
8698         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8699         (gst_test_mono_source_set_property),
8700         (gst_test_mono_source_class_init), (GST_START_TEST),
8701         (gst_controller_suite):
8702         * docs/gst/gstreamer-docs.sgml:
8703         * docs/gst/gstreamer-sections.txt:
8704         * docs/gst/gstreamer.types:
8705         * docs/libs/gstreamer-libs-docs.sgml:
8706         * docs/libs/gstreamer-libs-sections.txt:
8707         * gst/base/gstadapter.c:
8708         * libs/gst/controller/gst-controller.c:
8709         (gst_controlled_property_new), (gst_controlled_property_free),
8710         (gst_controller_new_valist),
8711         (gst_controller_remove_properties_valist),
8712         (gst_controller_sink_values), (_gst_controller_finalize):
8713         * libs/gst/controller/gst-controller.h:
8714         * libs/gst/controller/gst-helper.c:
8715         (gst_object_control_properties), (gst_object_uncontrol_properties),
8716         (gst_object_get_controller), (gst_object_set_controller),
8717         (gst_object_sink_values), (gst_object_get_value_arrays),
8718         (gst_object_get_value_array):
8719           more tests (and fixes) for the controller
8720           more docs for the controller
8721           integrated companies docs for the adapter 
8722
8723 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8724
8725         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8726         (GST_START_TEST), (fakesrc_suite):
8727           add tests for sizetype
8728
8729 2005-08-04  Andy Wingo  <wingo@pobox.com>
8730
8731         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8732         fixes buffer_alloc proxying among other things.
8733
8734         * gst/base/gstbasetransform.c:
8735         * gst/base/gstbasetransform.h:
8736         Revert patch to gstbasetransform from 7-28 removing
8737         delay_configure.
8738
8739         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8740         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8741         Semantics changed, should return not the size of the output buffer
8742         but the byte size of a buffer with a given caps.
8743
8744         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8745         debug object.
8746         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8747         out) are not the pad caps until setcaps finishes.
8748         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8749         not-in-place case as well. Deal with changing from in-place to
8750         not-in-place within calling pad_alloc_buffer. Still a bit
8751         concerned about the overhead here...
8752
8753 2005-08-03  Andy Wingo  <wingo@pobox.com>
8754
8755         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8756         fixating is an error.
8757
8758 2005-08-04  Edward Hervey  <edward@fluendo.com>
8759
8760         * gst/base/gstadapter.h: 
8761         Added gst_adapter_get_type() to the header
8762
8763 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8764
8765         * check/Makefile.am:
8766         * check/gst-libs/controller.c:
8767         * libs/gst/controller/gst-controller.c:
8768         (gst_controller_new_valist):
8769           added check test suite for the controller
8770         * gst/base/gstpushsrc.c:
8771           fixed a doc typo
8772
8773 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8774
8775         * docs/gst/Makefile.am:
8776         * docs/gst/gstreamer-docs.sgml:
8777         * docs/gst/gstreamer-sections.txt:
8778         * docs/gst/gstreamer.types:
8779         * docs/gst/tmpl/gstfakesrc.sgml:
8780         * gst/base/README:
8781         * gst/base/gstbasesink.c:
8782         * gst/base/gstbasesink.h:
8783         * gst/base/gstbasesrc.c:
8784         * gst/base/gstbasesrc.h:
8785         * gst/base/gstbasetransform.c:
8786         * gst/base/gstpushsrc.c:
8787         * gst/base/gstpushsrc.h:
8788           add short/long description docs to base classes
8789           add pushsrc to the docs
8790           remove consolidated doc fragments
8791
8792 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8793
8794         * configure.ac:
8795         * docs/libs/Makefile.am:
8796         * docs/libs/gstreamer-libs-docs.sgml:
8797         * docs/libs/gstreamer-libs-sections.txt:
8798         * docs/libs/gstreamer-libs.types:
8799         * examples/Makefile.am:
8800         * examples/controller/.cvsignore:
8801         * examples/controller/Makefile.am:
8802         * examples/controller/audio-example.c: (main):
8803         * libs/gst/Makefile.am:
8804         * libs/gst/controller/.cvsignore:
8805         * libs/gst/controller/Makefile.am:
8806         * libs/gst/controller/gst-controller.c:
8807         (on_object_controlled_property_changed), (gst_timed_value_compare),
8808         (gst_timed_value_find),
8809         (gst_controlled_property_set_interpolation_mode),
8810         (gst_controlled_property_new), (gst_controlled_property_free),
8811         (gst_controller_find_controlled_property),
8812         (gst_controller_new_valist), (gst_controller_new),
8813         (gst_controller_remove_properties_valist),
8814         (gst_controller_remove_properties), (gst_controller_set),
8815         (gst_controller_set_from_list), (gst_controller_unset),
8816         (gst_controller_get), (gst_controller_get_all),
8817         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8818         (gst_controller_get_value_array),
8819         (gst_controller_set_interpolation_mode),
8820         (_gst_controller_finalize), (_gst_controller_init),
8821         (_gst_controller_class_init), (gst_controller_get_type):
8822         * libs/gst/controller/gst-controller.h:
8823         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8824         (g_object_uncontrol_properties), (g_object_get_controller),
8825         (g_object_set_controller), (g_object_sink_values),
8826         (g_object_get_value_arrays), (g_object_get_value_array):
8827         * libs/gst/controller/gst-interpolation.c:
8828         (gst_controlled_property_find_timed_value_node),
8829         (interpolate_none_get), (interpolate_trigger_get),
8830         (interpolate_trigger_get_value_array):
8831         * libs/gst/controller/lib.c: (gst_controller_init):
8832         * pkgconfig/Makefile.am:
8833         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8834         * pkgconfig/gstreamer-control.pc.in:
8835         * testsuite/Makefile.am:
8836         * testsuite/controller/.cvsignore:
8837         * testsuite/controller/Makefile.am:
8838         * testsuite/controller/interpolator.c: (main):
8839           added controller code
8840           removed dparam pc files
8841
8842 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8843         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8844         (gst_collectpads_stop):
8845           Broadcast the condition when shutting down, to make sure we wake all
8846           threads up. Shut down pads on finalize, for safety.
8847
8848 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8849         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8850         (gst_base_transform_handle_buffer),
8851         (gst_base_transform_change_state):
8852           Handle PAUSED->READY->PAUSED transition after negotiation
8853           occurred already.
8854         * gst/gstmessage.c: (gst_message_init):
8855           Extra piece of debug for new messages.
8856
8857 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8858
8859         * configure.ac:
8860         * docs/gst/tmpl/gstbasesrc.sgml:
8861         * docs/gst/tmpl/gstelement.sgml:
8862         * docs/gst/tmpl/gstevent.sgml:
8863         * docs/gst/tmpl/gstfakesrc.sgml:
8864         * docs/gst/tmpl/gstformat.sgml:
8865         * docs/gst/tmpl/gstghostpad.sgml:
8866         * docs/gst/tmpl/gstpad.sgml:
8867         * docs/gst/tmpl/gstquery.sgml:
8868         * docs/gst/tmpl/gststructure.sgml:
8869         * docs/gst/tmpl/gsttaglist.sgml:
8870         * docs/gst/tmpl/gstvalue.sgml:
8871         * docs/libs/gstreamer-libs-docs.sgml:
8872         * docs/libs/gstreamer-libs-sections.txt:
8873         * docs/libs/gstreamer-libs.types:
8874         * libs/gst/Makefile.am:
8875         * libs/gst/control/.cvsignore:
8876         * libs/gst/control/Makefile.am:
8877         * libs/gst/control/control.c:
8878         * libs/gst/control/control.h:
8879         * libs/gst/control/dparam.c:
8880         * libs/gst/control/dparam.h:
8881         * libs/gst/control/dparam_smooth.c:
8882         * libs/gst/control/dparam_smooth.h:
8883         * libs/gst/control/dparamcommon.h:
8884         * libs/gst/control/dparammanager.c:
8885         * libs/gst/control/dparammanager.h:
8886         * libs/gst/control/dplinearinterp.c:
8887         * libs/gst/control/dplinearinterp.h:
8888         * libs/gst/control/unitconvert.c:
8889         * libs/gst/control/unitconvert.h:
8890         * testsuite/Makefile.am:
8891         * testsuite/dynparams/.cvsignore:
8892         * testsuite/dynparams/Makefile.am:
8893         * testsuite/dynparams/dparamstest.c:
8894         * tools/Makefile.am:
8895         * tools/gst-inspect.c: (print_element_info), (main):
8896         * tools/gst-xmlinspect.c: (print_element_info), (main):
8897           deactivate and remove dparams (libgstcontrol)
8898
8899 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8900
8901         * gst/elements/gsttypefindelement.c:
8902         (gst_type_find_element_have_type), (gst_type_find_element_init),
8903         (stop_typefinding), (gst_type_find_element_handle_event),
8904         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8905         * gst/elements/gsttypefindelement.h:
8906           Set caps on all outgoing buffers, not just the first one.
8907
8908 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8909
8910         * gst/elements/gsttypefindelement.c:
8911         (gst_type_find_element_have_type),
8912         (gst_type_find_element_check_set_buffer_caps),
8913         (gst_type_find_element_init), (stop_typefinding),
8914         (gst_type_find_element_handle_event),
8915         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8916         * gst/elements/gsttypefindelement.h:
8917           Set caps on first outgoing buffer when we've found the type.
8918
8919 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8920
8921         * docs/gst/gstreamer-docs.sgml:
8922         * docs/gst/gstreamer-sections.txt:
8923         * docs/gst/tmpl/gstscheduler.sgml:
8924         * docs/gst/tmpl/gstschedulerfactory.sgml:
8925           Remove some old cruft from docs.
8926
8927 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8928
8929         * gst/gstpad.h:
8930           Fix inline docs for GstPadLinkReturn.
8931           
8932         * gst/gststructure.c: (gst_structure_has_name):
8933         * gst/gststructure.h:
8934         * docs/gst/gstreamer-sections.txt:
8935           New API: gst_structure_has_name().
8936
8937 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8938
8939         * configure.ac:
8940           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8941           and _LARGEFILE_SOURCE in config.h as required. Do not 
8942           export those flags in our .pc files any longer (#142209).
8943
8944           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8945
8946         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8947         (gst_file_sink_do_seek), (gst_file_sink_event),
8948         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8949           Redo seek/tell calls with large file support in mind; add some
8950           debugging messages; add log message that tells us when large
8951           file support is unavailable or not enabled for some reason.
8952
8953         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8954           Add log message that tells us when large file support 
8955           is unavailable or not enabled for some reason.
8956
8957 2005-07-29  Wim Taymans  <wim@fluendo.com>
8958
8959         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8960         Added test for removing an element with ghostpad from a bin.
8961         Fixed test as current implementation does the right thing.
8962
8963         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8964         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8965         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8966         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8967         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8968         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8969         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8970         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8971         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8972         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8973         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8974         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8975         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8976         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8977         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8978         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8979         * gst/gstghostpad.h:
8980         Clean up ghostpads, remove properties for internal stuff.
8981         Make threadsafe.
8982         Fix refcounting.
8983         Prepare for switching targets, not all use cases work yet.
8984
8985 2005-07-29  Wim Taymans  <wim@fluendo.com>
8986
8987         * docs/design/part-gstghostpad.txt:
8988         Small update.
8989
8990         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8991         (gst_bin_remove_func):
8992         Unlinking pads while holding the bin LOCK is not a good
8993         idea.
8994
8995         * gst/gstpad.c: (gst_pad_class_init),
8996         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8997         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8998         No prob setting template after creating the pad.
8999
9000 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9001
9002         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9003         (gst_bus_peek), (gst_bus_source_dispatch),
9004         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9005         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9006           gst_bus_poll may be called from other threads. Handle
9007           this nicely by not making poll_data disappear off the
9008           stack once gst_bus_poll returns.
9009           gst_bus_peek now increments the refcount on the returned
9010           message.
9011
9012 2005-07-29  Wim Taymans  <wim@fluendo.com>
9013
9014         * docs/design/part-gstghostpad.txt:
9015         Overview of current GhostPad datastructures and use
9016         cases for changing the target.
9017
9018 2005-07-28  Wim Taymans  <wim@fluendo.com>
9019
9020         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9021         Added checks for hierarchy consistency whan adding linked
9022         elements to bins.
9023
9024         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9025         Added check to test element scheduling without bin/pipeline.
9026
9027         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9028         First add elements to bin, then link.
9029         
9030         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9031         (gst_bin_remove_func):
9032         Unlink pads from elements added/removed from bin to maintain
9033         hierarchy consistency.
9034
9035 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9036
9037         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9038         (gst_base_transform_handle_buffer):
9039         * gst/base/gstbasetransform.h:
9040           Remove broken delay_configure (fixes renegotiation of software
9041           scaling pipelines); remove some leftover printf()s.
9042
9043 2005-07-28  Wim Taymans  <wim@fluendo.com>
9044
9045         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9046         Added some more tests for wrong hierarchy
9047
9048         * docs/design/part-overview.txt:
9049         Some updates.
9050
9051         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9052         Cleanups.
9053
9054         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9055         (gst_element_dispose):
9056         Some more cleanups.
9057
9058         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9059         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9060         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9061         (gst_pad_set_caps), (gst_pad_send_event):
9062         Check for correct hierarchy when linking pads. Moving to
9063         strict requirement for ghostpads when linking elements in
9064         different bins.
9065
9066         * gst/gstpad.h:
9067         Clean ups. Added WRONG_HIERARCHY return value.
9068
9069 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9070
9071         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9072           Better debug if no transform is possible.
9073
9074 2005-07-27  Wim Taymans  <wim@fluendo.com>
9075
9076         * docs/random/wtay/network-transp:
9077         Some old doc I had.
9078
9079 2005-07-27  Wim Taymans  <wim@fluendo.com>
9080
9081         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9082         (gst_dp_event_from_packet):
9083         Fix serialization of seek events.
9084
9085 2005-07-27  Wim Taymans  <wim@fluendo.com>
9086
9087         * check/gst-libs/gdp.c: (GST_START_TEST):
9088         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9089         Fix compilation and fix event serialization.
9090
9091 2005-07-27  Wim Taymans  <wim@fluendo.com>
9092
9093         * CHANGES-0.9:
9094         * docs/design/part-TODO.txt:
9095         * docs/design/part-events.txt:
9096         Some docs updates
9097
9098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9099         (gst_base_sink_event), (gst_base_sink_do_sync),
9100         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9101         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9102         (gst_base_src_do_seek), (gst_base_src_event_handler),
9103         (gst_base_src_loop):
9104         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9105         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9106         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9107         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9108         (gst_base_transform_set_passthrough),
9109         (gst_base_transform_is_passthrough):
9110         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9111         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9112         Event updates.
9113
9114         * gst/gstbuffer.h:
9115         Use faster casts.
9116
9117         * gst/gstelement.c: (gst_element_seek):
9118         * gst/gstelement.h:
9119         Update gst_element_seek.
9120
9121         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9122         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9123         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9124         (gst_event_new_eos), (gst_event_new_newsegment),
9125         (gst_event_parse_newsegment), (gst_event_new_tag),
9126         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9127         (gst_event_parse_qos), (gst_event_new_seek),
9128         (gst_event_parse_seek), (gst_event_new_navigation):
9129         * gst/gstevent.h:
9130         Make GstEvent use GstStructure. Add parsing code, make sure the
9131         API is sufficiently generic.
9132         Mark possible directions of events and serialization.
9133
9134         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9135         (_gst_message_copy), (gst_message_new_segment_start),
9136         (gst_message_new_segment_done), (gst_message_new_custom),
9137         (gst_message_parse_segment_start),
9138         (gst_message_parse_segment_done):
9139         Small cleanups.
9140
9141         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9142         (gst_pad_set_caps), (gst_pad_send_event):
9143         Update for new events. 
9144         Catch events sent in wrong directions.
9145
9146         * gst/gstqueue.c: (gst_queue_link_src),
9147         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9148         (gst_queue_handle_src_query):
9149         Event updates.
9150
9151         * gst/gsttag.c:
9152         * gst/gsttag.h:
9153         Remove event code from this file.
9154
9155         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9156         (gst_dp_event_from_packet):
9157         Event updates.
9158
9159 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9160
9161         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9162         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9163         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9164           Make debugging actually useful.
9165
9166 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9167
9168         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9169         (gst_pad_fixate_caps):
9170           Implement default fixation once again, so that gst_pad_fixate()
9171           actually does anything at all. This probably needs to be some
9172           sort of a last resort, and use profile-based fixation first, but
9173           since that doesn't exist yet, this is the best we have. Fixes
9174           visualization in Totem.
9175
9176 2005-07-22  Wim Taymans  <wim@fluendo.com>
9177
9178         * docs/design/part-events.txt:
9179         Small update.
9180
9181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9182         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9183         (gst_base_sink_activate_pull):
9184         Some more comments.
9185
9186         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9187         (gst_fake_src_create):
9188         Fix handoff marshall.
9189
9190         * gst/elements/gstidentity.c: (gst_identity_class_init),
9191         (gst_identity_transform_ip):
9192         We're a real inplace element.
9193
9194         * gst/gstbus.c: (gst_bus_post):
9195         Added some comments.
9196
9197         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9198         * tests/muxing/case1.c: (main):
9199         * tests/sched/dynamic-pipeline.c: (main):
9200         * tests/sched/interrupt1.c: (main):
9201         * tests/sched/interrupt2.c: (main):
9202         * tests/sched/interrupt3.c: (main):
9203         * tests/sched/runxml.c: (main):
9204         * tests/sched/sched-stress.c: (main):
9205         * tests/seeking/seeking1.c: (event_received), (main):
9206         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9207         (main):
9208         * tests/threadstate/threadstate3.c: (main):
9209         * tests/threadstate/threadstate4.c: (main):
9210         * tests/threadstate/threadstate5.c: (main):
9211         Fix the tests.
9212
9213 2005-07-21  Wim Taymans  <wim@fluendo.com>
9214
9215         * docs/design/part-seeking.txt:
9216         Some small additions.
9217
9218         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9219         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9220         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9221         * gst/base/gstbasesink.h:
9222         discont values are gint64, handle the math correctly.
9223
9224         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9225         Make the basesrc report error if the source pad is not linked.
9226
9227         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9228         (gst_queue_loop), (gst_queue_handle_src_query),
9229         (gst_queue_src_activate_push):
9230         Make queue collect data even if the srcpad is not linked.
9231         Start pushing out data as soon as it is linked.
9232
9233         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9234         * gst/gstutils.h:
9235         Added gst_flow_get_name() to ease error reporting.
9236
9237 2005-07-20  Wim Taymans  <wim@fluendo.com>
9238
9239         * gst/gstmessage.c: (gst_message_new_segment_start),
9240         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9241         (gst_message_parse_segment_done):
9242         * gst/gstmessage.h:
9243         Added a bunch of messages for advanced seeking.
9244
9245         * gst/parse/grammar.y:
9246         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9247         (gst_dpman_state_changed):
9248         Fix some new-pad -> pad-added signals
9249
9250 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9251
9252         * docs/manual/appendix-porting.xml:
9253         * docs/pwg/appendix-porting.xml:
9254           Document new-pad/state-change signal renames and the FixedList
9255           type rename.
9256
9257 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9258
9259         * docs/manual/advanced-autoplugging.xml:
9260         * docs/manual/basics-helloworld.xml:
9261         * docs/manual/basics-pads.xml:
9262         * docs/random/ds/0.9-suggested-changes:
9263         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9264         * gst/gstelement.h:
9265         * gst/gstevent.h:
9266         * gst/gstformat.h:
9267         * gst/gstquery.h:
9268         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9269         (gst_structure_parse_array), (gst_structure_parse_value):
9270         * gst/gstvalue.c: (gst_type_is_fixed),
9271         (gst_value_list_prepend_value), (gst_value_list_append_value),
9272         (gst_value_list_get_size), (gst_value_list_get_value),
9273         (gst_value_transform_array_string), (gst_value_serialize_array),
9274         (gst_value_deserialize_array), (gst_value_intersect_array),
9275         (gst_value_is_fixed), (_gst_value_initialize):
9276         * gst/gstvalue.h:
9277           GstElement::new-pad -> pad-added, GstElement::state-change ->
9278           state-changed, GstValueFixedList -> GstValueArray, add format and
9279           flags as their own arguments in gst_element_seek() (should improve
9280           "bindeability"), remove function generators since they don't work
9281           under a whole bunch of compilers (they were deprecated already
9282           anyway).
9283
9284 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9285
9286         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9287         (_gst_debug_register_funcptr):
9288         * gst/gstinfo.h:
9289           Fix illegal cast on some platforms (#309253).
9290
9291 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9292
9293         * gst/gstmessage.c: (gst_message_new_custom):
9294         * gst/gstmessage.h:
9295           Add _new_custom, make _new_application a macro to _new_custom.
9296
9297 2005-07-20  Wim Taymans  <wim@fluendo.com>
9298
9299         * gst/base/gstbasesrc.c: (gst_base_src_init),
9300         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9301         * gst/base/gstbasesrc.h:
9302         Add a gboolean to decide when to push out a discont.
9303
9304         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9305         (gst_queue_loop), (gst_queue_handle_src_query),
9306         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9307         (gst_queue_set_property), (gst_queue_get_property):
9308         Some cleanups.
9309
9310         * tests/threadstate/threadstate1.c: (main):
9311         Make a thread test compile and run... very silly..
9312
9313
9314 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9315
9316         * docs/manual/appendix-porting.xml:
9317           Mention removal of libgstgconf-0.9.la and existence of gconf
9318           elements.
9319
9320 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9321
9322         * docs/pwg/advanced-clock.xml:
9323         * docs/pwg/appendix-porting.xml:
9324         * docs/pwg/intro-preface.xml:
9325         * docs/pwg/other-base.xml:
9326         * docs/pwg/other-manager.xml:
9327         * docs/pwg/other-nton.xml:
9328         * docs/pwg/other-ntoone.xml:
9329         * docs/pwg/other-oneton.xml:
9330         * docs/pwg/pwg.xml:
9331           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9332           demuxer), remove n-to-n (was never written), fix some code examples
9333           and links and update the porting section to include all this.
9334
9335 2005-07-19  Wim Taymans  <wim@fluendo.com>
9336
9337         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9338         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9339         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9340         (gst_queue_src_activate_push), (gst_queue_change_state),
9341         (gst_queue_get_property):
9342         * gst/gstqueue.h:
9343         Propagate GstFlowReturn more intelligently upstream and output
9344         an ERROR/EOS when streaming stopped due to fatal error.
9345
9346 2005-07-19  Wim Taymans  <wim@fluendo.com>
9347
9348         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9349         Don't block forever for the state change to complete, the
9350         pipeline already did with a sensible timeout.
9351
9352 2005-07-19  Wim Taymans  <wim@fluendo.com>
9353
9354         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9355         Make sure we never call the create function is we
9356         got deactivated.
9357
9358 2005-07-19  Andy Wingo  <wingo@pobox.com>
9359
9360         * gst/parse/parse.l: Attempt to solve bug #172815.
9361
9362 2005-07-19  Wim Taymans  <wim@fluendo.com>
9363
9364         * docs/design/part-clocks.txt:
9365         * docs/design/part-events.txt:
9366         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9367         Small docs updates.
9368         Only update the seeking values when we are not
9369         busy streaming.
9370
9371 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9372
9373         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9374           Oops, ignore the result of gst_pad_push_event here.
9375
9376 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9377
9378         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9379         (gst_base_src_activate_push):
9380           Send discont event from the loop function, as pads
9381           aren't activated yet in the activate_push handler.
9382
9383         * gst/gstbin.c: (bin_bus_handler):
9384           Don't leak element name.
9385
9386 2005-07-18  Andy Wingo  <wingo@pobox.com>
9387
9388         * configure.ac: Use AS_LIBTOOL_TAGS.
9389
9390 2005-07-18  Wim Taymans  <wim@fluendo.com>
9391
9392         * docs/gst/gstreamer.types:
9393         Remove deleted types.
9394
9395 2005-07-18  Wim Taymans  <wim@fluendo.com>
9396
9397         * check/elements/gstfakesrc.c: (GST_START_TEST):
9398         * configure.ac:
9399         * gst/Makefile.am:
9400         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9401         (init_popt_callback):
9402         * gst/gst.h:
9403         * gst/gst_private.h:
9404         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9405         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9406         * gst/gstbin.h:
9407         * gst/gstbus.h:
9408         * gst/gstconfig.h.in:
9409         * gst/gstelement.c: (gst_element_class_init),
9410         (gst_element_set_base_time), (gst_element_get_base_time),
9411         (iterator_fold_with_resync), (gst_element_change_state),
9412         (gst_element_dispose), (gst_element_get_bus):
9413         * gst/gstelement.h:
9414         * gst/gstelementfactory.h:
9415         * gst/gsterror.c: (_gst_core_errors_init):
9416         * gst/gsterror.h:
9417         * gst/gstevent.h:
9418         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9419         * gst/gstindex.c:
9420         * gst/gstinfo.c: (_gst_debug_init):
9421         * gst/gstmessage.c: (_gst_message_copy):
9422         * gst/gstmessage.h:
9423         * gst/gstminiobject.h:
9424         * gst/gstobject.c:
9425         * gst/gstobject.h:
9426         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9427         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9428         * gst/gstpad.h:
9429         * gst/gstparse.h:
9430         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9431         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9432         (gst_pipeline_get_last_stream_time):
9433         * gst/gstpipeline.h:
9434         * gst/gstpluginfeature.h:
9435         * gst/gstquery.h:
9436         * gst/gstscheduler.c:
9437         * gst/gstscheduler.h:
9438         * gst/gststructure.h:
9439         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9440         (gst_task_finalize), (gst_task_func), (gst_task_create),
9441         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9442         (gst_task_stop), (gst_task_pause):
9443         * gst/gsttask.h:
9444         * gst/gsttypefind.h:
9445         * gst/gsttypes.h:
9446         * gst/registries/gstlibxmlregistry.c: (load_feature),
9447         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9448         * gst/registries/gstxmlregistry.c:
9449         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9450         * gst/schedulers/threadscheduler.c:
9451         * libs/gst/control/dparammanager.h:
9452         * tools/gst-inspect.c: (print_element_list),
9453         (print_plugin_features), (print_element_features):
9454         * tools/gst-xmlinspect.c: (print_element_list),
9455         (print_plugin_info), (main):
9456         Removed plugable schedulers.
9457         Removed Scheduler/Manager from elements.
9458         Removed gsttypes.h, rearranged includes.
9459         Removed dependency pad<->element, element<>pipeline, and
9460         various others,  fix includes.
9461         implement gst_pad_get_parent() with gst_object_get_parent()
9462         Make GstTask sefcontained.
9463         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9464         timeout.
9465         Fix endless loop in iterator_fold_with_resync.
9466
9467
9468 2005-07-18  Wim Taymans  <wim@fluendo.com>
9469
9470         * gst/Makefile.am:
9471         * gst/gstarch.h:
9472         Remove old file.
9473
9474 2005-07-18  Wim Taymans  <wim@fluendo.com>
9475
9476         * gst/Makefile.am:
9477         No more cothreads.h
9478
9479 2005-07-18  Wim Taymans  <wim@fluendo.com>
9480
9481         * gst/cothreads.c:
9482         * gst/cothreads.h:
9483         Let's remove these.
9484
9485 2005-07-18  Wim Taymans  <wim@fluendo.com>
9486
9487         * docs/design/part-dynamic.txt:
9488         * docs/design/part-events.txt:
9489         * docs/design/part-seeking.txt:
9490         Some more docs in the works.
9491
9492         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9493         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9494         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9495         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9496         (gst_base_transform_handle_buffer),
9497         (gst_base_transform_sink_activate_push),
9498         (gst_base_transform_src_activate_pull),
9499         (gst_base_transform_set_passthrough),
9500         (gst_base_transform_is_passthrough):
9501         Refcounting fixes.
9502
9503         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9504         Cleanups.
9505
9506         * gst/gstevent.c: (gst_event_finalize):
9507         Set SRC to NULL.
9508
9509         * gst/gstutils.c: (gst_element_unlink),
9510         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9511         (gst_pad_proxy_setcaps):
9512         * gst/gstutils.h:
9513         Add _get_parent_element() to get a pads parent as an element.
9514
9515 2005-07-18  Wim Taymans  <wim@fluendo.com>
9516
9517         * check/gst/gstbin.c: (GST_START_TEST):
9518         Remove bogus test.
9519
9520 2005-07-18  Wim Taymans  <wim@fluendo.com>
9521
9522         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9523         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9524         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9525         (gst_base_sink_event), (gst_base_sink_do_sync),
9526         (gst_base_sink_chain), (gst_base_sink_loop),
9527         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9528         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9529         Refcounting fixes.
9530         Fix logic for returning ASYNC when not prerolled.
9531
9532 2005-07-18  Wim Taymans  <wim@fluendo.com>
9533
9534         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9535         Fix nasty refcount bug.
9536
9537 2005-07-16 Philippe Khalaf <burger@speedy.org>
9538
9539         * gst/elements/gstfdsrc.c:
9540         * gst/elements/gstfdsrc.h:
9541         * gst/elements/gstelements.c:
9542         * gst/elements/Makefile.am:
9543         Ported fdsrc to 0.9.
9544
9545 2005-07-16  Wim Taymans  <wim@fluendo.com>
9546
9547         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9548         (gst_base_sink_do_sync):
9549         Fix compile error.
9550
9551 2005-07-16  Wim Taymans  <wim@fluendo.com>
9552
9553         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9554         (gst_base_sink_event), (gst_base_sink_get_times),
9555         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9556         * gst/base/gstbasesink.h:
9557         Store and use discont values when syncing buffers as described
9558         in design docs.
9559         
9560         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9561         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9562         (gst_base_src_activate_push):
9563         Push discont event when starting.
9564
9565         * gst/elements/gstidentity.c: (gst_identity_transform):
9566         Small cleanups.
9567
9568         * gst/gstbin.c: (gst_bin_change_state):
9569         Small cleanups in base_time  distribution.
9570
9571         * gst/gstelement.c: (gst_element_set_base_time),
9572         (gst_element_get_base_time), (gst_element_change_state):
9573         * gst/gstelement.h:
9574         Added methods for the base_time of the element.
9575         Some MT fixes.
9576
9577         * gst/gstpipeline.c: (gst_pipeline_send_event),
9578         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9579         (gst_pipeline_get_last_stream_time):
9580         * gst/gstpipeline.h:
9581         MT fixes.
9582         Handle seeking as described in design doc, remove stream_time
9583         hack.
9584         Cleanups clock and stream_time selection code. Added accessors
9585         for the stream_time.
9586         
9587
9588 2005-07-16  Andy Wingo  <wingo@pobox.com>
9589
9590         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9591         (#305291).
9592
9593 2005-07-16  Wim Taymans  <wim@fluendo.com>
9594
9595         * check/gst/gstbin.c: (GST_START_TEST):
9596         Make elements silent as the deep_notify refs the
9597         parent, which might make the test fail.
9598
9599         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9600         Don't hold the lock for too long.
9601
9602 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9603
9604         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9605           Don't unref the caps we passed to gst_caps_make_writable() after
9606           passing them. gst_caps_make_writable() will do that for us.
9607
9608 2005-07-15  Andy Wingo  <wingo@pobox.com>
9609
9610         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9611         (#157311).
9612
9613         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9614         own marshalling function for the handoff signal. Properly type the
9615         buffer as a buffer. Fixes some warnings. Should do a more general
9616         solution.
9617         (gst_identity_class_init): Plug into the right marshaller.
9618
9619 2005-07-15  Wim Taymans  <wim@fluendo.com>
9620
9621         * docs/design/part-TODO.txt:
9622         * docs/design/part-clocks.txt:
9623         * docs/design/part-element-sink.txt:
9624         * docs/design/part-events.txt:
9625         * docs/design/part-gstpipeline.txt:
9626         Updated docs, mostly DISCONT related.
9627
9628 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9629
9630         * docs/pwg/building-pads.xml:
9631           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9632
9633 2005-07-15  Andy Wingo  <wingo@pobox.com>
9634
9635         * tools/gst-typefind.c: Update, add copyright block.
9636
9637         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9638         Normalize and truncate caps before fixation.
9639
9640         * gst/gstcaps.h:
9641         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9642         discards all but the first structure from its argument.
9643
9644 2005-07-15  Wim Taymans  <wim@fluendo.com>
9645
9646         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9647         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9648         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9649         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9650         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9651         (gst_base_transform_chain), (gst_base_transform_change_state),
9652         (gst_base_transform_set_passthrough),
9653         (gst_base_transform_is_passthrough):
9654         * gst/base/gstbasetransform.h:
9655         Make passthrough work using the bufferpools.
9656         Changed API a bit, subclasses have to write into a buffer
9657         provided by the base class.
9658         More debug info in nego functions.
9659         
9660         * gst/elements/gstidentity.c: (gst_identity_init),
9661         (gst_identity_transform):
9662         Port to new base class.
9663
9664 2005-07-15  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/gstmessage.c: (gst_message_new_state_changed):
9667         * tools/gst-launch.c: (event_loop), (main):
9668         Totally dump messages in -launch with the -m option.
9669         Fix message name for State messages,
9670
9671 2005-07-14  Wim Taymans  <wim@fluendo.com>
9672
9673         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9674         Post error messages on errors.
9675
9676 2005-07-14  Wim Taymans  <wim@fluendo.com>
9677
9678         * gst/gstcaps.c: (gst_caps_do_simplify):
9679         Remove debug info.
9680
9681         * gst/gsterror.h:
9682         Define error for stream stopped.
9683
9684         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9685         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9686         Do proper return values.
9687
9688         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9689         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9690         (gst_pad_get_range):
9691         Better return values.
9692
9693         * gst/gstpad.h:
9694         Reorganise return values, add macro to check for fatal errors.
9695
9696         * gst/gstqueue.c: (gst_queue_chain):
9697         Return proper GstFlowReturn values,
9698
9699 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9700
9701         * docs/gst/gstreamer-sections.txt:
9702         * docs/gst/gstreamer.types:
9703         * docs/gst/tmpl/gst.sgml:
9704         * docs/gst/tmpl/gstbasesink.sgml:
9705         * docs/gst/tmpl/gstbasesrc.sgml:
9706         * docs/gst/tmpl/gstbasetransform.sgml:
9707         * docs/gst/tmpl/gstbin.sgml:
9708         * docs/gst/tmpl/gstbuffer.sgml:
9709         * docs/gst/tmpl/gstcaps.sgml:
9710         * docs/gst/tmpl/gstclock.sgml:
9711         * docs/gst/tmpl/gstcompat.sgml:
9712         * docs/gst/tmpl/gstconfig.sgml:
9713         * docs/gst/tmpl/gstelement.sgml:
9714         * docs/gst/tmpl/gstelementdetails.sgml:
9715         * docs/gst/tmpl/gstelementfactory.sgml:
9716         * docs/gst/tmpl/gstenumtypes.sgml:
9717         * docs/gst/tmpl/gsterror.sgml:
9718         * docs/gst/tmpl/gstevent.sgml:
9719         * docs/gst/tmpl/gstfakesink.sgml:
9720         * docs/gst/tmpl/gstfakesrc.sgml:
9721         * docs/gst/tmpl/gstfilesink.sgml:
9722         * docs/gst/tmpl/gstfilesrc.sgml:
9723         * docs/gst/tmpl/gstfilter.sgml:
9724         * docs/gst/tmpl/gstformat.sgml:
9725         * docs/gst/tmpl/gstghostpad.sgml:
9726         * docs/gst/tmpl/gstimplementsinterface.sgml:
9727         * docs/gst/tmpl/gstindex.sgml:
9728         * docs/gst/tmpl/gstindexfactory.sgml:
9729         * docs/gst/tmpl/gstinfo.sgml:
9730         * docs/gst/tmpl/gstiterator.sgml:
9731         * docs/gst/tmpl/gstmacros.sgml:
9732         * docs/gst/tmpl/gstmemchunk.sgml:
9733         * docs/gst/tmpl/gstminiobject.sgml:
9734         * docs/gst/tmpl/gstobject.sgml:
9735         * docs/gst/tmpl/gstpad.sgml:
9736         * docs/gst/tmpl/gstpadtemplate.sgml:
9737         * docs/gst/tmpl/gstparse.sgml:
9738         * docs/gst/tmpl/gstpipeline.sgml:
9739         * docs/gst/tmpl/gstplugin.sgml:
9740         * docs/gst/tmpl/gstpluginfeature.sgml:
9741         * docs/gst/tmpl/gstquery.sgml:
9742         * docs/gst/tmpl/gstqueue.sgml:
9743         * docs/gst/tmpl/gstregistry.sgml:
9744         * docs/gst/tmpl/gstregistrypool.sgml:
9745         * docs/gst/tmpl/gstscheduler.sgml:
9746         * docs/gst/tmpl/gstschedulerfactory.sgml:
9747         * docs/gst/tmpl/gststructure.sgml:
9748         * docs/gst/tmpl/gstsystemclock.sgml:
9749         * docs/gst/tmpl/gsttaglist.sgml:
9750         * docs/gst/tmpl/gsttagsetter.sgml:
9751         * docs/gst/tmpl/gsttrace.sgml:
9752         * docs/gst/tmpl/gsttrashstack.sgml:
9753         * docs/gst/tmpl/gsttypefind.sgml:
9754         * docs/gst/tmpl/gsttypefindfactory.sgml:
9755         * docs/gst/tmpl/gsttypes.sgml:
9756         * docs/gst/tmpl/gsturihandler.sgml:
9757         * docs/gst/tmpl/gsturitype.sgml:
9758         * docs/gst/tmpl/gstutils.sgml:
9759         * docs/gst/tmpl/gstvalue.sgml:
9760         * docs/gst/tmpl/gstversion.sgml:
9761         * docs/gst/tmpl/gstxml.sgml:
9762         * docs/libs/tmpl/gstcontrol.sgml:
9763         * docs/libs/tmpl/gstdataprotocol.sgml:
9764         * docs/libs/tmpl/gstdparam.sgml:
9765         * docs/libs/tmpl/gstdplinint.sgml:
9766         * docs/libs/tmpl/gstdpman.sgml:
9767         * docs/libs/tmpl/gstdpsmooth.sgml:
9768         * docs/libs/tmpl/gstgetbits.sgml:
9769         * docs/libs/tmpl/gstunitconvert.sgml:
9770         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9771         (gst_push_src_base_init), (gst_push_src_class_init),
9772         (gst_push_src_init), (gst_push_src_create):
9773         * gst/base/gstpushsrc.h:
9774         * gst/elements/gstelements.c:
9775         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9776         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9777         (gst_fake_sink_init), (gst_fake_sink_set_property),
9778         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9779         (gst_fake_sink_event), (gst_fake_sink_preroll),
9780         (gst_fake_sink_render), (gst_fake_sink_change_state):
9781         * gst/elements/gstfakesink.h:
9782         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9783         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9784         (gst_fake_src_base_init), (gst_fake_src_class_init),
9785         (gst_fake_src_init), (gst_fake_src_event_handler),
9786         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9787         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9788         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9789         (gst_fake_src_create_buffer), (gst_fake_src_create),
9790         (gst_fake_src_start), (gst_fake_src_stop):
9791         * gst/elements/gstfakesrc.h:
9792         * gst/elements/gstfilesink.c: (_do_init),
9793         (gst_file_sink_base_init), (gst_file_sink_class_init),
9794         (gst_file_sink_init), (gst_file_sink_dispose),
9795         (gst_file_sink_set_location), (gst_file_sink_set_property),
9796         (gst_file_sink_get_property), (gst_file_sink_open_file),
9797         (gst_file_sink_close_file), (gst_file_sink_query),
9798         (gst_file_sink_event), (gst_file_sink_render),
9799         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9800         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9801         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9802         * gst/elements/gstfilesink.h:
9803         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9804         (gst_file_src_class_init), (gst_file_src_init),
9805         (gst_file_src_finalize), (gst_file_src_set_location),
9806         (gst_file_src_set_property), (gst_file_src_get_property),
9807         (gst_file_src_map_region), (gst_file_src_map_small_region),
9808         (gst_file_src_create_mmap), (gst_file_src_create_read),
9809         (gst_file_src_create), (gst_file_src_is_seekable),
9810         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9811         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9812         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9813         (gst_file_src_uri_handler_init):
9814         * gst/elements/gstfilesrc.h:
9815           more autistic cleanliness in functions/names/defines
9816
9817 2005-07-13  Andy Wingo  <wingo@pobox.com>
9818
9819         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9820         source couldn't negotiate.
9821
9822         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9823         connections again.
9824
9825         * gst/gstutils.h:
9826         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9827         function. I am channeling Hades. Put your boots on suckers!!!
9828
9829 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9830
9831         * testsuite/caps/Makefile.am:
9832         * testsuite/caps/value_compare.c:
9833         * testsuite/caps/value_intersect.c:
9834         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9835           move two testsuite apps over to the check dir
9836
9837 2005-07-12  Wim Taymans  <wim@fluendo.com>
9838
9839         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9840         Added more debug info in the negotiate process.
9841
9842         * gst/gstmessage.h:
9843         Prepare for segment playback.
9844
9845         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9846         Better debugging.
9847
9848         * gst/gstutils.c:
9849         Some more docs.
9850
9851         * tools/gst-launch.c: (main):
9852         NULL pipeline on errors.
9853
9854 2005-07-12  Andy Wingo  <wingo@pobox.com>
9855
9856         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9857         not it comes from a malloc region. Make sure our copy gets freed.
9858
9859 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9860
9861         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9862         * check/gst/gstmessage.c: (GST_START_TEST):
9863         * check/gst/gststructure.c: (GST_START_TEST),
9864         (gst_structure_suite), (main):
9865           more testing
9866         * gst/gstelement.c: (gst_element_message_full):
9867           clean up GError and debug string now that they get copied
9868         * gst/gstmessage.c: (gst_message_new_error),
9869         (gst_message_new_warning), (gst_message_parse_error),
9870         (gst_message_parse_warning):
9871           use GST_TYPE_G_ERROR for structure_new, and take copies of
9872           arguments, so that we don't mess up refcounting
9873
9874 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9875
9876         * check/Makefile.am:
9877           add per-test valgrind targets
9878         * check/gst-libs/gdp.c: (GST_START_TEST),
9879         (gst_data_protocol_suite), (main):
9880           clean up
9881
9882 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9883
9884         * check/Makefile.am:
9885           instate more valgrindable tests
9886         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9887         (GST_START_TEST), (fakesrc_suite):
9888         * check/gst/gstpad.c: (GST_START_TEST):
9889         * check/gst/gststructure.c: (GST_START_TEST):
9890           fix test leaks
9891         * docs/gst/tmpl/gstminiobject.sgml:
9892         * gst/gstpad.c: (gst_pad_finalize):
9893           fix the static mutex leak
9894
9895 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9896
9897         * check/Makefile.am:
9898           add two more tests for valgrinding
9899         * check/gst/gstvalue.c: (GST_START_TEST):
9900           test refcount of deserialized buffer, found a leak
9901         * docs/gst/gstreamer-docs.sgml:
9902         * docs/gst/gstreamer-sections.txt:
9903         * docs/gst/gstreamer.types:
9904         * docs/gst/tmpl/gstminiobject.sgml:
9905           add miniobject to docs
9906         * gst/gstminiobject.c:
9907           add some docs
9908         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9909         (gst_string_unwrap):
9910           fix a hard-to-find invalid write for one of the tests
9911           fix a leak for deserialized buffers
9912
9913 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9914
9915         * docs/pwg/advanced-events.xml:
9916         * docs/pwg/advanced-request.xml:
9917         * docs/pwg/advanced-scheduling.xml:
9918         * docs/pwg/appendix-porting.xml:
9919         * docs/pwg/building-boiler.xml:
9920         * docs/pwg/intro-preface.xml:
9921         * docs/pwg/other-ntoone.xml:
9922           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9923           of example code and explanation for pad activation, loop() and
9924           getrange() functions and a bit more. Remove old comments pointing
9925           to loop-functions.
9926         * examples/pwg/Makefile.am:
9927           Add loop/getrange examples.
9928
9929 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9930
9931         * configure.ac:
9932           check for valgrind binary + some fixes
9933         * check/gst.supp:
9934           valgrind suppressions for the tests
9935         * check/Makefile.am:
9936           add a valgrind: target that valgrinds the unit tests
9937         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9938         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9939         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9940         * check/gst/gstghostpad.c:
9941           added some cleanup
9942         * check/gst/gstdata.c:
9943           removed
9944         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9945         (thread_unref), (gst_mini_object_suite), (main):
9946           added
9947         * gst/gst.c: (gst_deinit):
9948         * gst/gst.h:
9949           add a method to clean up.
9950         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9951         (gst_system_clock_obtain):
9952           allow for disposing the system clock.
9953         * tools/gst-launch.c: (main):
9954           deinit
9955
9956 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9957
9958         * docs/gst/tmpl/gstbasesrc.sgml:
9959         * docs/gst/tmpl/gstfakesrc.sgml:
9960         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9961         (gst_base_src_init), (gst_base_src_set_property),
9962         (gst_base_src_get_property), (gst_base_src_get_range),
9963         (gst_base_src_start):
9964         * gst/base/gstbasesrc.h:
9965           add num-buffers property
9966         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9967         (gst_fakesrc_init), (gst_fakesrc_set_property),
9968         (gst_fakesrc_get_property), (gst_fakesrc_create),
9969         (gst_fakesrc_start):
9970           remove num-buffers property
9971
9972 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9973
9974         * docs/gst/gstreamer-sections.txt:
9975         * docs/gst/tmpl/gstbasesink.sgml:
9976         * docs/gst/tmpl/gstbasesrc.sgml:
9977         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9978         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9979         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9980         (gst_base_sink_set_property), (gst_base_sink_get_property),
9981         (gst_base_sink_handle_object), (gst_base_sink_event),
9982         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9983         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9984         (gst_base_sink_loop), (gst_base_sink_deactivate),
9985         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9986         (gst_base_sink_change_state):
9987         * gst/base/gstbasesink.h:
9988         * gst/base/gstbasesrc.h:
9989         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9990         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9991         (gst_filesink_init):
9992           more macro splitting
9993
9994 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9995
9996         * gst/gstelement.c: (gst_element_get_bus):
9997           add debug
9998         * tools/gst-launch.c: (check_intr), (event_loop):
9999           fix bus leaks
10000
10001 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10002
10003         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10004           fix a caps leak
10005
10006 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10007
10008         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10009         (gst_base_src_finalize):
10010           add finalize method and clean up properly
10011         * gst/gstpipeline.c: (gst_pipeline_dispose):
10012           add debug
10013
10014 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10015
10016         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10017         (gst_bin_suite):
10018           add more things to check
10019         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10020         * gst/gstelement.c:
10021           more debug
10022
10023 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10024
10025         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10026         (GST_START_TEST), (fakesrc_suite):
10027         * check/gst-libs/gdp.c: (GST_START_TEST):
10028         * check/gst/gst.c: (GST_START_TEST):
10029         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10030         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10031         * check/gst/gstbus.c: (GST_START_TEST):
10032         * check/gst/gstcaps.c: (GST_START_TEST):
10033         * check/gst/gstdata.c: (GST_START_TEST):
10034         * check/gst/gstelement.c: (GST_START_TEST):
10035         * check/gst/gstghostpad.c: (GST_START_TEST):
10036         * check/gst/gstiterator.c: (GST_START_TEST):
10037         * check/gst/gstmessage.c: (GST_START_TEST):
10038         * check/gst/gstobject.c: (GST_START_TEST):
10039         * check/gst/gstpad.c: (GST_START_TEST):
10040         * check/gst/gststructure.c: (GST_START_TEST):
10041         * check/gst/gstsystemclock.c: (GST_START_TEST),
10042         (gst_systemclock_suite):
10043         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10044         * check/gst/gstvalue.c: (GST_START_TEST):
10045         * check/pipelines/cleanup.c: (GST_START_TEST):
10046         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10047         * check/states/sinks.c: (GST_START_TEST):
10048         * check/gstcheck.c: (gst_check_init):
10049         * check/gstcheck.h:
10050           add debugging category
10051           use GST_START_TEST now, so we add a debug line
10052
10053 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10054
10055         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10056           add test for state change message on a bin
10057         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10058           add another test
10059         * gst/gstbin.c: (gst_bin_init):
10060         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10061         * gst/gstelement.c: (gst_element_post_message),
10062         (gst_element_set_state):
10063         * gst/gstelementfactory.c: (gst_element_factory_create):
10064         * gst/gstmessage.c: (gst_message_new):
10065         * gst/gstscheduler.c:
10066           various debugging additions and cleanups
10067
10068 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10069
10070         * check/Makefile.am:
10071         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10072         (main):
10073           adding tests for elements
10074         * gst/gstelement.c: (gst_element_dispose):
10075
10076 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * gst/registries/gstlibxmlregistry.c: (load_feature):
10079           plug more leaks.  A simple gst_init() now is leakfree, yay.
10080
10081 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10082
10083         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10084         (gst_xml_registry_load):
10085           plug another memleak
10086
10087 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10088
10089         * configure.ac:
10090           use GST_SET_ERROR_CFLAGS
10091         * docs/faq/cvs.xml:
10092           change to ERROR_CFLAGS
10093
10094 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10095
10096         * configure.ac:
10097           make GST_ERROR_CFLAGS overridable and re-enable Werror
10098         * docs/faq/cvs.xml:
10099           add a note about error CFLAGS
10100         * docs/gst/tmpl/gstfakesrc.sgml:
10101         * gst/elements/gstfakesrc.c:
10102           comment out some unused code
10103         * gst/gst.c: (split_and_iterate):
10104         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10105         (load_feature):
10106           plug some memleaks
10107
10108 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10109
10110         * common/Makefile.am:
10111         * common/gtk-doc.mak:
10112         * docs/gst/Makefile.am:
10113           factor out gtk-doc.mak
10114
10115 2005-07-07  Wim Taymans  <wim@fluendo.com>
10116
10117         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10118         (gst_thread_scheduler_dispose):
10119         Unlock the STREAM_LOCK completely.
10120
10121 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10122
10123         * check/Makefile.am:
10124         * check/elements/.cvsignore:
10125         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10126         (START_TEST), (fakesrc_suite), (main):
10127         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10128         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10129         (gst_fakesrc_create), (gst_fakesrc_start):
10130         * gst/elements/gstfakesrc.h:
10131           adding a first element test
10132
10133 2005-07-07  Andy Wingo  <wingo@pobox.com>
10134
10135         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10136         debug message.
10137
10138 2005-07-07  Wim Taymans  <wim@fluendo.com>
10139
10140         * gst/gstquery.c:
10141         * gst/gstquery.h:
10142         Remove old types
10143
10144 2005-07-07  Wim Taymans  <wim@fluendo.com>
10145
10146         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10147         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10148         Allow subclasses to implement their own negotiation.
10149
10150 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10151
10152         * docs/design/part-gstbin.txt:
10153         * docs/design/part-gstpipeline.txt:
10154           Update design notes to reflect the movement of
10155           responsibility for bus handling from GstPipeline to
10156           GstBin
10157
10158 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10159
10160         * configure.ac:
10161           Remove unnecessary queue2/3/4 examples.
10162
10163 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10164
10165         * examples/Makefile.am:
10166         * examples/helloworld/helloworld.c: (event_loop), (main):
10167         * examples/queue/queue.c: (event_loop), (main):
10168         * examples/queue2/queue2.c: (main):
10169           Update a couple of the examples to work again.
10170
10171         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10172         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10173          Spelling corrections and extra debug.
10174         
10175         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10176         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10177         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10178         * gst/gstbin.h:
10179         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10180         (gst_pipeline_change_state):
10181         * gst/gstpipeline.h:
10182           Move the bus handler for children to the GstBin, and create a
10183           separate bus for receiving messages from children to the one the
10184           bus sends 'upwards' on.
10185
10186 2005-07-06  Wim Taymans  <wim@fluendo.com>
10187
10188         * gst/base/README:
10189         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10190         (gst_base_sink_handle_object), (gst_base_sink_loop),
10191         (gst_base_sink_change_state):
10192         * gst/base/gstbasesink.h:
10193         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10194         (gst_base_src_init), (gst_base_src_setcaps),
10195         (gst_base_src_getcaps), (gst_base_src_loop),
10196         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10197         (gst_base_src_start), (gst_base_src_change_state):
10198         * gst/base/gstbasesrc.h:
10199         Make basesrc negotiate.
10200         Handle the case where preroll fails in basesink.
10201         Update README.
10202
10203 2005-07-06  Wim Taymans  <wim@fluendo.com>
10204
10205         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10206         Implement the fixate function.
10207         Clean up acceptcaps.
10208
10209 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10210
10211         * docs/pwg/building-filterfactory.xml:
10212         * docs/pwg/pwg.xml:
10213           Remove never-written filter-factory chapter; I'll add the various
10214           base classes to part 4 ("other element types") later on.
10215
10216 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10217
10218         * docs/pwg/advanced-negotiation.xml:
10219         * docs/pwg/building-boiler.xml:
10220         * docs/pwg/building-pads.xml:
10221         * docs/pwg/pwg.xml:
10222         * examples/pwg/Makefile.am:
10223           Add a chapter on caps negotiation, simplify the original code
10224           samples a bit w.r.t. caps negotiation, add link to the advanced
10225           section. Add a bunch of examples showing different use cases of
10226           different types of caps negotiation. Upstream renegotiation isn't
10227           fully documented yet since nobody knows how that works.
10228
10229 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10230
10231         * check/gst/gstpad.c:
10232         * check/gstcheck.c:
10233         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10234           if pad has no parent, return NULL as list of internal links
10235
10236 2005-07-05  Andy Wingo  <wingo@pobox.com>
10237
10238         * gst/elements/gstfilesrc.c:
10239         * gst/elements/gstfakesrc.c: 
10240         * gst/base/gstpushsrc.c:
10241         * gst/base/gstbasesrc.h: 
10242         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10243         
10244 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10245
10246         * Makefile.am:
10247           better report generation target (lcov needs a patch)
10248
10249 2005-07-05  Andy Wingo  <wingo@pobox.com>
10250
10251         * gst/elements, testsuite: Null if we got it...
10252
10253 2005-07-05  Wim Taymans  <wim@fluendo.com>
10254
10255         * configure.ac:
10256         * libs/gst/dataprotocol/Makefile.am:
10257         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10258         * libs/gst/dataprotocol/dataprotocol.h:
10259         * pkgconfig/Makefile.am:
10260         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10261         * pkgconfig/gstreamer-dataprotocol.pc.in:
10262         Ported dataprotol to 0.9. 
10263         Added pkgconfig files.
10264
10265 2005-07-05  Andy Wingo  <wingo@pobox.com>
10266
10267         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10268         Default to returning TRUE for the case when tranform_caps returns
10269         a fixed caps, like for identity or volume.
10270
10271         * check/gst/gstbus.c (pound_bus_with_messages): 
10272         * check/gst/gstmessage.c (START_TEST): 
10273         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10274         message API change.
10275
10276         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10277         logic weaks here: always run transform_caps, trying passthrough
10278         operation only if the original caps intersects with the transform.
10279
10280         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10281         source and sink caps.
10282
10283         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10284         Intersect the peer caps with the pad template before going into
10285         transform_caps.
10286         (gst_base_transform_transform_caps): More debugging.
10287
10288         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10289         src argument.
10290
10291 2005-07-04  Edward Hervey  <edward@fluendo.com>
10292
10293         * gst/gstutils.c:
10294         * gst/gstutils.h:
10295         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10296         in bindings.
10297
10298 2005-07-04  Andy Wingo  <wingo@pobox.com>
10299
10300         * check/gst/gstpad.c: Only set explicit caps on pads.
10301
10302 2005-07-01  Andy Wingo  <wingo@pobox.com>
10303
10304         * tests/network-clock.scm: Commentary update.
10305
10306         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10307         Didn't really make sense, not implementable with basetransform,
10308         etc.
10309         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10310         attempt at implementing the sync property, needs an unlock method.
10311
10312         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10313         New func, by default returns the same caps (the identity
10314         transformation).
10315         (gst_base_transform_getcaps): Uses transform_caps to return
10316         something sensible.
10317         (gst_base_transform_setcaps): Complicated logic to get caps on
10318         both pads, even if they are different, and to call set_caps once
10319         for every time both pads get their caps set.
10320         (gst_base_transform_handle_buffer): Give the ref to the transform
10321         function. Allows in-place modification of the buffer.
10322
10323         * gst/base/gstbasetransform.h (transform_caps): New class method.
10324         Given caps on one side, what can I do on the other.
10325         (set_caps): Take two caps, one for each side of the element.
10326
10327         * gst/gstpad.h:
10328         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10329         caps in place. This is safe because we can check the mutability of
10330         the caps, and a good idea because fixate functions are just called
10331         as a matter of last resort. (Not actually implemented.)
10332         (gst_pad_set_caps): If the caps we're setting is actually the same
10333         as the existing pad caps, just update the pointer without calling
10334         setcaps. Assert that caps is either NULL or fixed, as per the
10335         docs.
10336
10337         * gst/gstghostpad.c: Update for fixate changes.
10338
10339 2005-07-02  Andy Wingo  <wingo@pobox.com>
10340
10341         * gst/gstcaps.c:
10342         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10343         two refcounts makes it immutable, which is enough. Doc more.
10344
10345 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10346
10347         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10348           Put the mini_object into GValue as a mini_object,
10349           not a gpointer, since that's how we declared
10350           the signal.
10351
10352 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10353
10354         * examples/pwg/Makefile.am:
10355           Fix buildbot again.
10356
10357 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10358
10359         * docs/pwg/building-testapp.xml:
10360           Add extra check.
10361         * examples/pwg/Makefile.am:
10362           Fix buildbot.
10363
10364 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10365
10366         * configure.ac:
10367         * examples/Makefile.am:
10368         * examples/pwg/Makefile.am:
10369         * examples/pwg/extract.pl:
10370           Enable building the PWG examples.
10371         * docs/pwg/advanced-interfaces.xml:
10372           Add URI interface stub.
10373         * docs/pwg/advanced-types.xml:
10374         * docs/pwg/other-autoplugger.xml:
10375         * docs/pwg/appendix-porting.xml:
10376         * docs/pwg/pwg.xml:
10377           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10378         * docs/pwg/building-boiler.xml:
10379         * docs/pwg/building-chainfn.xml:
10380         * docs/pwg/building-pads.xml:
10381         * docs/pwg/building-props.xml:
10382         * docs/pwg/building-state.xml:
10383         * docs/pwg/building-testapp.xml:
10384           Update the building-*.xml parts for 0.9 changes. All examples
10385           code blocks compile in examples/pwg/*.
10386
10387 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10388
10389         * docs/manual/advanced-autoplugging.xml:
10390         * docs/manual/appendix-checklist.xml:
10391         * docs/manual/appendix-integration.xml:
10392         * docs/manual/highlevel-components.xml:
10393           Fix playbin/decodebin examples, update docs a bit, mention bus
10394           instead of signals in various places, mention kmplayer and
10395           kaffeine since they have a working GStreamer backend in the KDE
10396           section.
10397
10398 2005-06-30  Wim Taymans  <wim@fluendo.com>
10399
10400         * CHANGES-0.9:
10401         * docs/design/draft-ghostpads.txt:
10402         * docs/design/draft-push-pull.txt:
10403         * docs/design/draft-query.txt:
10404         * docs/design/part-TODO.txt:
10405         * docs/design/part-query.txt:
10406         Added CHANGES-0.9 doc, updated status of other docs.
10407         
10408         * gst/gstquery.h:
10409         Remove "hmm" macro
10410
10411 2005-06-30  Wim Taymans  <wim@fluendo.com>
10412
10413         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10414         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10415         (gst_base_sink_change_state):
10416         * gst/base/gstbasesink.h:
10417         Some tweaks, only EOS and a buffer complete a preroll.
10418
10419 2005-06-30  Andy Wingo  <wingo@pobox.com>
10420
10421         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10422         activate_push down to the internal pad as well.
10423
10424 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10425
10426         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10427
10428         * gst/gsttaginterface.c:
10429           Some documentation fixes (#307394 and #307397).
10430
10431 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10432
10433         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10434
10435         * gst/gstvalue.c: (gst_value_intersect_list):
10436           Fix memleak (#309125).
10437
10438 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10439
10440         * docs/manual/advanced-dataaccess.xml:
10441           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10442         * docs/manual/basics-pads.xml:
10443           Add reference for filtered caps to above chapter.
10444
10445 2005-06-30  Wim Taymans  <wim@fluendo.com>
10446
10447         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10448         (gst_bin_change_state):
10449         Probes are gone.
10450         Lame attempt at making the state change function a bit
10451         more readable.
10452
10453 2005-06-30  Wim Taymans  <wim@fluendo.com>
10454
10455         * docs/design/part-clocks.txt:
10456         * docs/design/part-element-sink.txt:
10457         * docs/design/part-events.txt:
10458         * docs/design/part-preroll.txt:
10459         * docs/design/part-states.txt:
10460         Some more tweeks and additions to the docs.
10461
10462 2005-06-30  Wim Taymans  <wim@fluendo.com>
10463
10464         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10465         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10466         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10467         (gst_pad_check_pull_range), (gst_pad_get_range),
10468         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10469         * gst/gstpad.h:
10470         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10471         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10472         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10473         (gst_pad_remove_buffer_probe):
10474         Removed atomic operations, use existing LOCK.
10475         Move exception handling out of main code path.
10476
10477 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10478
10479         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10480         (silly_return_true_function), (gst_pad_class_init),
10481         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10482         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10483         (gst_pad_send_event):
10484           Fix accumulator, add default value by using _emitv() instead
10485           of _emit() for signal emission.
10486
10487 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10488
10489         * docs/manual/advanced-dataaccess.xml:
10490         * examples/manual/Makefile.am:
10491           Add probe example.
10492         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10493           Make work (??).
10494
10495 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10496
10497         * gst/elements/gstfilesink.c: (gst_filesink_render):
10498           Simplify code so that we don't have to handle short
10499           writes and return GST_FLOW_ERROR if an error occured.
10500
10501 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10502
10503         * docs/gst/gstreamer-docs.sgml:
10504           Remove probes more.
10505
10506 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10507
10508         * docs/gst/gstreamer-sections.txt:
10509         * docs/gst/tmpl/gstpad.sgml:
10510         * docs/gst/tmpl/gstprobe.sgml:
10511         * gst/Makefile.am:
10512         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10513         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10514         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10515         (gst_pad_push_event), (gst_pad_send_event):
10516         * gst/gstpad.h:
10517         * gst/gstutils.c: (gst_pad_add_data_probe),
10518         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10519         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10520         (gst_pad_remove_buffer_probe):
10521         * gst/gstutils.h:
10522           Remove old probes, add new g-signal-based probes and some utility
10523           functions.
10524
10525 2005-06-29  Edward Hervey  <edward@fluendo.com>
10526
10527         * gst/gstelementfactory.c:
10528         * gst/gstutils.h:
10529         * gst/gstutils.c:
10530         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10531         the definition to the header file.
10532
10533 2005-06-29  Andy Wingo  <wingo@pobox.com>
10534
10535         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10536         plugins from the source directory.
10537
10538 2005-06-29  Wim Taymans  <wim@fluendo.com>
10539
10540         * docs/gst/tmpl/gstbuffer.sgml:
10541         * docs/gst/tmpl/gstclock.sgml:
10542         Some fixings for blantently wrong text.
10543
10544 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10545
10546         * check/Makefile.am:
10547         * gst/gst.c: (add_path_func), (init_pre):
10548         * gst/gstregistry.c: (gst_registry_add_path):
10549           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10550           only scan the GST_PLUGIN_PATH locations, and not add
10551           system locations
10552
10553 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10554
10555         * docs/gst/gstreamer-sections.txt:
10556         * docs/gst/tmpl/gstbasesrc.sgml:
10557         * gst/gstelement.c:
10558         * gst/gstelement.h:
10559         * gst/gstevent.c:
10560         * gst/gstutils.c:
10561           doc fixes
10562
10563 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10564
10565         * docs/manual/advanced-autoplugging.xml:
10566           Fix autoplugging example.
10567
10568 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10569
10570         * docs/manual/advanced-autoplugging.xml:
10571         * docs/manual/mime-world.fig:
10572           Try to get autoplugging working, fix type detection. Fix text
10573           in hello-world image.
10574
10575 2005-06-29  Wim Taymans  <wim@fluendo.com>
10576
10577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10578         (gst_base_sink_change_state):
10579         Small debug line.
10580
10581         * gst/gstclock.h:
10582         map SIGNAL and BROADCAST to the right function.
10583
10584         * gst/gstobject.h:
10585         Remove redundant braces.
10586
10587         * gst/gstpad.c: (gst_pad_set_caps):
10588         Don't call setcaps function when reseting caps to NULL.
10589
10590         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10591         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10592         (gst_system_clock_id_unschedule):
10593         Use BROADCAST as this is what we do.
10594
10595 2005-06-29  Wim Taymans  <wim@fluendo.com>
10596
10597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10598         We are actually prerolling before commiting the state
10599         change. 
10600
10601 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10602
10603         * docs/manual/advanced-clocks.xml:
10604         * docs/manual/advanced-interfaces.xml:
10605         * docs/manual/advanced-metadata.xml:
10606         * docs/manual/advanced-position.xml:
10607         * docs/manual/advanced-schedulers.xml:
10608         * docs/manual/advanced-threads.xml:
10609         * docs/manual/appendix-porting.xml:
10610         * docs/manual/basics-bins.xml:
10611         * docs/manual/basics-bus.xml:
10612         * docs/manual/basics-elements.xml:
10613         * docs/manual/basics-helloworld.xml:
10614         * docs/manual/basics-pads.xml:
10615         * docs/manual/highlevel-components.xml:
10616         * docs/manual/manual.xml:
10617         * docs/manual/thread.fig:
10618           Update (until threads/scheduling) Application Development Manual;
10619           remove GstThread, add GstBus, add simple porting checklist, add
10620           documentation for tag writing, clocks, make all examples until this
10621           part compile and run.
10622         * examples/manual/Makefile.am:
10623           Update from changes to Application Development Manual; add bus
10624           example, remove thread example.
10625
10626 2005-06-28  Wim Taymans  <wim@fluendo.com>
10627
10628         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10629         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10630         (gst_bus_source_dispatch):
10631         Add debugging messages.
10632         Make internal methods static.
10633         Handle the case where the bus is flushed in the handler.
10634         
10635         * gst/gstelement.c: (gst_element_get_bus):
10636         Fix refcount in _get_bus();
10637
10638         * gst/gstpipeline.c: (gst_pipeline_change_state),
10639         (gst_pipeline_get_clock_func):
10640         Clock refcounting fixes.
10641         Handle the case where preroll timed out more gracefully.
10642         
10643         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10644         Clean up the internal thread in dispose. This is needed
10645         for subclasses that actually get disposed.
10646         
10647         * gst/schedulers/threadscheduler.c:
10648         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10649         (gst_thread_scheduler_dispose):
10650         Free thread pool in dispose.
10651
10652 2005-06-28  Andy Wingo  <wingo@pobox.com>
10653
10654         * tests/network-clock-utils.scm (debug, print-event): New utils.
10655
10656         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10657         (*packet-loss*): Unified loss probability.
10658         (network-time): Report out-of-band events.
10659
10660         * tests/plot-data: Add support for out-of-band events. Hack it
10661         into this script instead of passing it down the pipe; should fix
10662         this later.
10663
10664 2005-06-28  Wim Taymans  <wim@fluendo.com>
10665
10666         * docs/gst/gstreamer.types:
10667         * docs/gst/tmpl/gstbasesrc.sgml:
10668         * docs/gst/tmpl/gstpad.sgml:
10669         Docs fixes.
10670
10671 2005-06-28  Wim Taymans  <wim@fluendo.com>
10672
10673         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10674         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10675         (gst_proxy_pad_do_fixatecaps):
10676         Correctly proxy the check_pull_range function.
10677
10678 2005-06-28  Andy Wingo  <wingo@pobox.com>
10679
10680         * tests/network-clock.scm: Removed need for slib.
10681         
10682 2005-06-28  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10685         (gst_basesink_preroll_queue_flush):
10686         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10687         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10688         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10689         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10690         (gst_proxy_pad_set_property):
10691         * gst/gstpad.c:
10692         * gst/gstpad.h:
10693         * gst/gstqueue.c: (gst_queue_init):
10694         The deprecated pad loop function is removed now.
10695
10696 2005-06-28  Andy Wingo  <wingo@pobox.com>
10697
10698         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10699         New parameters, simulate network packet loss.
10700
10701         * tests/network-clock-utils.scm: Initialize the RNG.
10702
10703 2005-06-28  Wim Taymans  <wim@fluendo.com>
10704
10705         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10706         (gst_basesink_event), (gst_basesink_deactivate):
10707         Flushing the preroll queue always needs to unlock the waiters.
10708
10709 2005-06-28  Edward Hervey  <edward@fluendo.com>
10710
10711         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10712         Wheen a seek was successful on a pipeline, set the stream_time to the
10713         seek offset in order to have a synchronized stream_time.
10714
10715 2005-06-28  Wim Taymans  <wim@fluendo.com>
10716
10717         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10718         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10719         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10720         (gst_proxy_pad_do_fixatecaps):
10721         Call wrapper function instead of just calling the function
10722         pointers. This takes care of any locking and whatmore.
10723
10724 2005-06-28  Wim Taymans  <wim@fluendo.com>
10725
10726         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10727         (gst_pad_pull_range):
10728         * gst/gstpad.h:
10729         CONNECTED -> LINKED.
10730
10731 2005-06-28  Andy Wingo  <wingo@pobox.com>
10732
10733         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10734         source-munging commit!!!
10735
10736         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10737         (gst_object_sink): Take gpointer arguments, not GstObject --
10738         avoids casts. Like GLib.
10739
10740         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10741         activate.
10742
10743 2005-06-27  Andy Wingo  <wingo@pobox.com>
10744
10745         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10746         remaining buffer.
10747
10748         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10749         returns a sorted copy of the trace list.
10750         (gst_alloc_trace_print_live): New API, only prints traces with
10751         live objects. Sort the list.
10752         (gst_alloc_trace_print_all): Sort the list.
10753         (gst_alloc_trace_print): Align columns.
10754
10755         * gst/elements/gstttypefindelement.c:
10756         * gst/elements/gsttee.c:
10757         * gst/base/gstbasesrc.c:
10758         * gst/base/gstbasesink.c:
10759         * gst/base/gstbasetransform.c:
10760         * gst/gstqueue.c: Adapt for pad activation changes.
10761
10762         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10763         sched.
10764         (gst_pipeline_dispose): Drop ref on sched.
10765
10766         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10767         (gst_pad_activate_default): Push mode by default.
10768         (pre_activate_switch, post_activate_switch): New stubs, things to
10769         do before and after switching activation modes on pads.
10770         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10771         the pad's activate function to choose which mode to activate.
10772         Shortcut on deactivation and call the right function directly.
10773         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10774         mode.
10775         (gst_pad_activate_push): New API, same for push mode.
10776         (gst_pad_set_activate_function) 
10777         (gst_pad_set_activatepull_function) 
10778         (gst_pad_set_activatepush_function): Setters for new API.
10779
10780         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10781         Trace all miniobjects.
10782         (gst_mini_object_make_writable): Unref the arg if we copy, like
10783         gst_caps_make_writable.
10784
10785         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10786
10787         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10788         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10789         Adapt for new pad API.
10790
10791         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10792
10793         * gst/gstelement.h:
10794         * gst/gstelement.c (gst_element_iterate_src_pads) 
10795         (gst_element_iterate_sink_pads): New API functions.
10796         
10797         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10798         should fold into gstiterator.c in some form.
10799         (gst_element_pads_activate): Simplified via use of fold and
10800         delegation of decisions to gstpad->activate.
10801
10802         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10803         help in debugging.
10804
10805         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10806         class once in init, like gstmessage. Didn't run into this issue
10807         but it seems correct. Don't initialize a trace, gstminiobject does
10808         that.
10809
10810         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10811         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10812         to the bus.
10813         (assert_live_count): New util function, uses alloc traces to check
10814         cleanup.
10815
10816         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10817         To be modified when unlink drops the internal pad.
10818
10819 2005-06-27  Wim Taymans  <wim@fluendo.com>
10820
10821         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10822         (gst_bin_change_state):
10823         Cleanup the get_state() function a little, make sure it
10824         iterates the same set of elements.
10825         Added stub iterate_state_order().
10826
10827 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10828
10829         * docs/gst/gstreamer-docs.sgml:
10830         * docs/gst/gstreamer-sections.txt:
10831         * docs/gst/gstreamer.types:
10832         * docs/gst/tmpl/gstbasesink.sgml:
10833         * docs/gst/tmpl/gstbasesrc.sgml:
10834         * docs/gst/tmpl/gstbasetransform.sgml:
10835         * docs/gst/tmpl/gstelement.sgml:
10836         * docs/gst/tmpl/gstiterator.sgml:
10837         * gst/base/gstbasesrc.c:
10838         * gst/base/gstbasesrc.h:
10839         * gst/base/gstbasetransform.h:
10840         * gst/gstelement.c:
10841         * gst/gstiterator.h:
10842           adding basetransform and iterator docs
10843
10844 2005-06-27  Andy Wingo  <wingo@pobox.com>
10845
10846         * docs/design/part-activation.txt: Notes on how activation should
10847         work -- not quite implemented yet.
10848
10849 2005-06-25  Wim Taymans  <wim@fluendo.com>
10850
10851         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10852         At least get the chain function correct, needs more
10853         fixing.
10854
10855 2005-06-25  Wim Taymans  <wim@fluendo.com>
10856
10857         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10858         (gst_basesink_handle_object), (gst_basesink_event),
10859         (gst_basesink_do_sync), (gst_basesink_handle_event),
10860         (gst_basesink_change_state):
10861         * gst/gsttask.h:
10862         Right, two problems here: ghostpads don't take locks and
10863         glib _rec_mutex_lock_full() with depth==0 still locks.
10864         Catch illegal locking and g_warn them.
10865
10866 2005-06-25  Wim Taymans  <wim@fluendo.com>
10867
10868         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10869         Have to check for completion now...
10870
10871 2005-06-25  Wim Taymans  <wim@fluendo.com>
10872
10873         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10874         (gst_basesink_handle_object), (gst_basesink_event),
10875         (gst_basesink_do_sync), (gst_basesink_handle_event),
10876         (gst_basesink_change_state):
10877         * gst/gstpad.h:
10878         Unlock STREAM_LOCK whatever the recursion was.
10879
10880 2005-06-25  Wim Taymans  <wim@fluendo.com>
10881
10882         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10883         (gst_basesink_preroll_queue_empty),
10884         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10885         (gst_basesink_event), (gst_basesink_do_sync),
10886         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10887         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10888         (gst_basesink_change_state):
10889         Reworked the base sink, handle event and buffer serialisation
10890         correctly and removed possible deadlock.
10891         Handle EOS correctly.
10892
10893 2005-06-25  Wim Taymans  <wim@fluendo.com>
10894
10895         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10896         (gst_pipeline_change_state):
10897         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10898         Allow elements to post EOS in the state change function.
10899         Fix up -launch, make it exit the poll loop when the
10900         pipeline actually changed state.
10901         Fix up warning parsing in -launch.
10902
10903 2005-06-25  Wim Taymans  <wim@fluendo.com>
10904
10905         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10906         (gst_tee_sink_activate):
10907         Core takes STREAM_LOCK for us now.
10908
10909 2005-06-25  Wim Taymans  <wim@fluendo.com>
10910
10911         * gst/gstelement.c: (gst_element_get_state_func),
10912         (gst_element_set_state):
10913         * gst/gstelement.h:
10914         * gst/gstmessage.c: (gst_message_parse_error),
10915         (gst_message_parse_warning):
10916         Keep track of current target state while performing a state
10917         change so that subclasses can do something interesting.
10918         Fix parsing of warning/error messages when GError is NULL.
10919
10920 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10921
10922         * docs/gst/Makefile.am:
10923         * docs/gst/gstreamer-docs.sgml:
10924         * docs/gst/gstreamer-sections.txt:
10925         * docs/gst/gstreamer.types:
10926         * docs/gst/tmpl/gstbasesink.sgml:
10927         * docs/gst/tmpl/gstbasesrc.sgml:
10928         * docs/gst/tmpl/gstbin.sgml:
10929         * docs/gst/tmpl/gstcompat.sgml:
10930         * docs/gst/tmpl/gstfakesink.sgml:
10931         * docs/gst/tmpl/gstfakesrc.sgml:
10932         * docs/gst/tmpl/gstfilesink.sgml:
10933         * docs/gst/tmpl/gstfilesrc.sgml:
10934         * docs/gst/tmpl/gstindex.sgml:
10935         * docs/manual/appendix-quotes.xml:
10936         * gst/base/gstbasesrc.h:
10937         * gst/elements/gstfakesrc.h:
10938         * gst/gstmessage.h:
10939           start pulling in base classes and elements in our docs
10940
10941 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10942
10943         * docs/gst/Makefile.am:
10944         * docs/libs/Makefile.am:
10945           fixed make distcheck with gtk-doc 1.3
10946
10947 2005-06-23  Wim Taymans  <wim@fluendo.com>
10948
10949         * gst/gstelement.c: (gst_element_get_state_func),
10950         (gst_element_set_state), (gst_element_change_state):
10951         When the state did not change, also report NO_PREROLL
10952         when it matters.
10953
10954 2005-06-23  Wim Taymans  <wim@fluendo.com>
10955
10956         * gst/gstpad.c: (gst_pad_event_default):
10957         * gst/gstqueue.c: (gst_queue_loop):
10958         No unsafe task pausing please.
10959
10960 2005-06-23  Wim Taymans  <wim@fluendo.com>
10961
10962         * gst/schedulers/threadscheduler.c:
10963         (gst_thread_scheduler_task_start),
10964         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10965         Ref the task before pushing it on the threadpool. This
10966         makes sure that we have a ref when the threadfunction is
10967         actually called.
10968
10969 2005-06-23  Andy Wingo  <wingo@pobox.com>
10970
10971         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10972         offset is greater than the file's size.
10973
10974         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10975         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10976         * gst/gstobject.c (gst_object_class_init): Make the class lock
10977         recursive. Wim won't let me drop deep_notify. Decodebin works
10978         again, whoopdy doo.
10979
10980         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10981         internal pad, and hacks accordingly. Doesn't do it on the target
10982         pad because we change its caps. Probably catches all cases of
10983         interest tho.
10984         (gst_ghost_pad_set_property): Connect to notify::caps as
10985         appropritate.
10986
10987         * tests/network-clock.scm (plot-simulation): Pipe data to the
10988         elite python skript.
10989
10990         * tests/network-clock-utils.scm (define-parameter): New macro,
10991         defines a parameter that can be set via the command line.
10992         (set-parameter!, parse-parameter-arguments): Command line args
10993         parser.
10994
10995         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10996         stdin.
10997
10998 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10999
11000         * gst/elements/gsttypefindelement.c:
11001         (gst_type_find_element_handle_event):
11002           Don't restart typefinding on a discont.
11003         * gst/gstelement.c: (gst_element_set_state):
11004           Debug spelling fix.
11005         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11006           Allow changing mode of an active pad.
11007           Debug output fixes.
11008         * gst/registries/gstlibxmlregistry.c: (load_feature):
11009           Don't cast a static pad template to a normal pad template.
11010
11011 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11012
11013         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11014         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11015           remove gst_strtoll completely, since it didn't actually do
11016           anything more than what g_ascii_strtoull already does.
11017           check for range errors when deserializing
11018           do a cast for the unsigned cases; but further fixing needs
11019           a decision on what the interpretation of "(int)" and
11020           deserialization should be for values that fall outside the
11021           type's boundaries (ie, refuse, or interpret as casting)
11022
11023 2005-06-23  Wim Taymans  <wim@fluendo.com>
11024
11025         * check/Makefile.am:
11026         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11027         * docs/design/part-live-source.txt:
11028         * docs/design/part-states.txt:
11029         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11030         (gst_basesrc_set_live), (gst_basesrc_is_live),
11031         (gst_basesrc_get_range), (gst_basesrc_activate),
11032         (gst_basesrc_change_state):
11033         * gst/base/gstbasesrc.h:
11034         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11035         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11036         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11037         * gst/gstelement.c: (gst_element_get_state_func),
11038         (gst_element_set_state):
11039         * gst/gstelement.h:
11040         * gst/gsttypes.h:
11041         * tools/gst-launch.c: (event_loop), (main):
11042         Added support for live sources and other elements that
11043         cannot do preroll.
11044         Updated design docs, added live-source design doc.
11045         Implemented live source functionality in basesrc
11046         Fix error condition in _bin_get_state()
11047         Implement live source handling in -launch.
11048         Added check for live sources.
11049         Fixed case in GstBin where elements were changed state
11050         multiple times.
11051
11052
11053 2005-06-23  Andy Wingo  <wingo@pobox.com>
11054
11055         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11056         borken refcounting.
11057
11058         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11059         gst_caps_replace takes care of this for us.
11060
11061         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11062         gst_pad_set_caps on the target, not just its setcaps() function.
11063
11064         * tests/network-clock.scm: 
11065         * tests/network-clock-utils.scm: A network clock simulator.
11066         Something of an algorithmic testbed before doing something in C.
11067
11068 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11069
11070         * check/Makefile.am:
11071         * check/gst/capslist.h:
11072           copy over from 0.8, and add two with bitmasks specified with
11073           (int) 0xFF...
11074         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11075           add test to parse everything from capslist.h
11076         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11077         (main):
11078           add test for structure deserialization
11079         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11080           add tests for deserialization of strings to int types
11081         * gst/gststructure.c: (gst_structure_nth_field_name):
11082         * gst/gststructure.h:
11083           add a way to get the name of a field referenced by index
11084         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11085           instead of checking if the resulting long long lies between
11086           min and max, we check if the long long would fit into
11087           a number of bytes for the final type.
11088           This fixes cases where a string represents 2^32 - 1, which
11089           when cast to int would be the (valid) -1, but is bigger than
11090           G_MAXINT
11091
11092 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11093
11094         * gst/parse/grammar.y:
11095           add a log line for type deserialization
11096
11097 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11098
11099         * check/gst/gstvalue.c: (START_TEST):
11100         * gst/gstvalue.c: (gst_value_deserialize):
11101           return long long, not int, so gint64 deserialization actually
11102           works.  Is there any flag that makes the compiler check this ?
11103           Fixes #308559
11104
11105 2005-06-22  Wim Taymans  <wim@fluendo.com>
11106
11107         * gst/gstbuffer.h:
11108         Added convenience macros for setting buffers in GValue.
11109
11110 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11111
11112         * check/gst/.cvsignore:
11113         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11114           add a test deserializing int64, and comment part out because
11115           it fails, yay !
11116
11117 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11118
11119         * check/Makefile.am:
11120         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11121         * testsuite/Makefile.am:
11122         * testsuite/caps/Makefile.am:
11123         * testsuite/caps/value_serialize.c:
11124         * testsuite/test_gst_init.c:
11125           move a value_serialize test over
11126
11127 2005-06-20  Wim Taymans  <wim@fluendo.com>
11128
11129         * gst/gstpad.c:
11130         Small doc updates.
11131         
11132         * gst/gstvalue.c: (gst_value_compare_buffer),
11133         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11134         (gst_value_compare_flags), (gst_value_serialize_flags),
11135         (gst_value_deserialize_flags), (_gst_value_initialize):
11136         Fix serialisation of buffers, they are not boxed types anymore
11137
11138 2005-06-20  Wim Taymans  <wim@fluendo.com>
11139
11140         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11141         Testcase to show error in buffer-on-caps serialisation.
11142
11143 2005-06-20  Andy Wingo  <wingo@pobox.com>
11144
11145         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11146         will be adding to later.
11147
11148         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11149         if its socks fill with rocks.
11150         (gst_system_clock_obtain): Set the name on object construction.
11151         Avoid double-checked locking.
11152
11153 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11154
11155         * gst/gsturi.c: (gst_element_make_from_uri):
11156           Fix potential endless loop.
11157
11158 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * check/Makefile.am:
11161           add gsttag
11162         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11163         (main):
11164           move over from testsuite dir and clean up
11165         * configure.ac:
11166         * gst/gsttag.c:
11167         * testsuite/Makefile.am:
11168         * testsuite/tags/.cvsignore:
11169         * testsuite/tags/Makefile.am:
11170         * testsuite/tags/merge.c:
11171           remove testsuite/tags
11172
11173 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11174
11175         * docs/gst/gstreamer-sections.txt:
11176         * docs/gst/tmpl/gstenumtypes.sgml:
11177         * win32/gstenumtypes.c:
11178           clean up documentation build a little
11179
11180 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11181
11182         * check/gstcheck.h:
11183           add macros for checking refcounts on objects and caps
11184         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11185           add some more unit tests
11186         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11187         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11188           fix leaked refcounts (I hope :)) so unittest works
11189         * gst/gstpad.h:
11190           whitespace removal
11191
11192 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * configure.ac: back to HEAD
11195
11196 === release 0.9.1 ===
11197
11198 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11199
11200         * NEWS:
11201         * RELEASE:
11202           updated
11203
11204 2005-06-17  Andy Wingo  <wingo@pobox.com>
11205
11206         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11207         assert; it's always possible that the pad gets deactivated in
11208         between the checks in gstpad.c and the implementation. Rely on
11209         finish_preroll() to return a FLUSHING or similar instead of on the
11210         assert.
11211         
11212         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11213         clock and post an EOS message if we come out of finish_preroll in
11214         the playing state.
11215
11216 2005-06-16  David Schleef  <ds@schleef.org>
11217
11218         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11219         (gst_capsfilter_set_property): Allow NULL as possible value
11220         for filter_caps property, indicating GST_CAPS_ANY.
11221
11222 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11223
11224         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11225           fix debug output
11226         * gst/schedulers/Makefile.am:
11227           use libgst prefix
11228         * gstreamer.spec.in:
11229           fix spec for it
11230
11231 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11232
11233         * gstreamer.spec.in:
11234           clean up
11235
11236 2005-06-08  Andy Wingo  <wingo@pobox.com>
11237
11238         * gst/gstutils.c: RPAD fixes all around.
11239         (gst_element_link_pads): Refcounting fixes.
11240
11241         * tools/gst-inspect.c:
11242         * tools/gst-xmlinspect.c:
11243         * parse/grammar.y:
11244         * gst/base/gsttypefindhelper.c:
11245         * gst/base/gstbasesink.c:
11246         * gst/gstqueue.c: RPAD fixes.
11247
11248         * gst/gstghostpad.h:
11249         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11250         pads. The tricky thing is they provide both source and sink
11251         interfaces, since they proxy the internal pad for the external
11252         pad, and vice versa. Implement with lower-level ProxyPad objects,
11253         with the interior proxy pad as a child of the exterior ghost pad.
11254         Should write a doc on this.
11255         
11256         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11257         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11258         gst_object API.
11259         
11260         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11261         pads are real pads. No ghost pads in this file. Not documenting
11262         the myriad s/RPAD/PAD/ and REALIZE fixes.
11263         (gst_pad_class_init): Add properties for "direction" and
11264         "template". Both are construct-only, so they can't change during
11265         the life of the pad. Fixes properly deriving from GstPad.
11266         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11267         derived objects, just set properties when creating the objects via
11268         g_object_new.
11269         (gst_pad_get_parent): Implement as a function, return NULL if the
11270         parent is not an element.
11271         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11272         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11273         
11274         * gst/gstobject.c (gst_object_class_init): Make name a construct
11275         property. Don't set it in the object init.
11276
11277         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11278         with UNKNOWN direction.
11279         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11280         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11281         (gst_element_remove_pad): Remove ghost-pad special cases.
11282         (gst_element_pads_activate): Remove rpad cruft.
11283
11284         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11285         catch the pad's-parent-not-an-element case.
11286
11287         * gst/gst.h: Include gstghostpad.h.
11288
11289         * gst/gst.c (init_post): No more real, ghost pads.
11290
11291         * gst/Makefile.am: Add gstghostpad.[ch].
11292
11293         * check/Makefile.am:
11294         * check/gst/gstbin.c:
11295         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11296         into a bin creates ghost pads, and that the refcounts are right.
11297         Partly moved from gstbin.c.
11298
11299 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11300
11301         * check/gst-libs/.cvsignore:
11302         * check/gst/.cvsignore:
11303         * check/pipelines/.cvsignore:
11304           ignore more
11305         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11306         (START_TEST), (cleanup_suite), (main):
11307           add some tests related to cleanup after running pipelines
11308
11309 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11310
11311         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11312           add a testsuite for GstBuffer
11313
11314 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11315
11316         * gst/gstminiobject.h:
11317           add defines for accessing the refcount
11318
11319 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11320
11321         * Makefile.am: added support for html unit test coverage reports
11322
11323 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11324
11325         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11326           Free existing caps if the capsfilter changes. Add a FIXME about
11327           setting those caps on the pads.
11328
11329         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11330           Before adding a ghost pad to a parent bin, check that there isn't
11331           already one for the element on the bin. Prevents infinite recursion
11332           when using decodebin in parse pipelines. Andy says he'll rewrite the
11333           way this works anyway, so ignore the hack.
11334
11335 2005-06-02  Andy Wingo  <wingo@pobox.com>
11336
11337         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11338         file size, pass it on to the type find helper.
11339
11340         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11341         segment_start and segment_end properly according to the seek
11342         method. Segment_end is still a bit flaky because offset can be
11343         negative for CUR and END cases, but it takes -1 as an "unset"
11344         value.
11345
11346 2005-06-02  Wim Taymans  <wim@fluendo.com>
11347
11348         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11349         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11350         (gst_basesink_activate):
11351         * gst/base/gstbasesink.h:
11352         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11353         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11354         (gst_pad_query), (gst_pad_start_task):
11355         * gst/gstpad.h:
11356         * gst/gstqueue.c: (gst_queue_bufferalloc),
11357         (gst_queue_handle_sink_event), (gst_queue_chain):
11358         Bufferalloc: return GstFlowReturn to more accuratly report
11359         why allocation failed.
11360
11361 2005-06-02  Wim Taymans  <wim@fluendo.com>
11362
11363         * gst/gstpipeline.c: (gst_pipeline_send_event):
11364         Take snapshot of state without blocking.
11365
11366 2005-06-02  Wim Taymans  <wim@fluendo.com>
11367
11368         * docs/design/part-TODO.txt:
11369         * docs/design/part-caps.txt:
11370         * docs/design/part-clocks.txt:
11371         * docs/design/part-negotiation.txt:
11372         * docs/design/part-preroll.txt:
11373         Small doc updates 
11374
11375 2005-05-30  Wim Taymans  <wim@fluendo.com>
11376
11377         * gst/elements/gstidentity.c: (gst_identity_event),
11378         (gst_identity_transform), (gst_identity_get_property):
11379         Protect last_message property as it is accessed from
11380         multiple threads.
11381
11382 2005-05-30  Wim Taymans  <wim@fluendo.com>
11383
11384         * gst/gstelement.c: (gst_element_init),
11385         (gst_element_pads_activate), (gst_element_change_state):
11386         Slicker pad activation code.
11387
11388 2005-05-30  Wim Taymans  <wim@fluendo.com>
11389
11390         * gst/Makefile.am:
11391         * gst/gstelement.h:
11392         * gst/gstelementfactory.h:
11393         * gst/gsttypes.h:
11394         Move elementfactory methods to separate .h file.
11395
11396 2005-05-30  Wim Taymans  <wim@fluendo.com>
11397
11398         * docs/design/part-overview.txt:
11399         * gst/gstsystemclock.h:
11400         Small typo fixes, doc updates.
11401
11402 2005-05-30  Wim Taymans  <wim@fluendo.com>
11403
11404         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11405         (init_popt_callback):
11406         Remove cpu-opt flag.
11407
11408 2005-05-30  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11411         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11412         * gst/gstbuffer.h:
11413         Avoid typechecking in places where not needed.
11414         Added accessor for malloc_data.
11415
11416 2005-05-30  Wim Taymans  <wim@fluendo.com>
11417
11418         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11419         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11420         (gst_pad_configure_sink), (gst_pad_configure_src),
11421         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11422         (gst_pad_start_task):
11423         Propagate errors from _set_caps() in configure_src/sink
11424         functions instead of returning TRUE.
11425         FLUSH events can travel up and downstream
11426
11427
11428 2005-05-30  Wim Taymans  <wim@fluendo.com>
11429
11430         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11431         (gst_basesink_activate):
11432         Handle EOS in preroll.
11433
11434 2005-05-30  Wim Taymans  <wim@fluendo.com>
11435
11436         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11437         (gst_queue_loop), (gst_queue_handle_src_event):
11438         Remove old pieces of code
11439         Flushing the queue in an upstream event is a very bad idea.
11440
11441 2005-05-26  Andy Wingo  <wingo@pobox.com>
11442
11443         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11444         gst_value_set_mini_object so as to add a ref on the object (which
11445         will be removed when the value is unset).
11446
11447         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11448         arg type in ::handoff.
11449
11450         * gst/gstelement.c (gst_element_change_state): Also deactivate
11451         pads in READY->NULL, just in case the element didn't make it to
11452         PAUSED. Wingo tested, Wim approved.
11453
11454 2005-05-26  Wim Taymans  <wim@fluendo.com>
11455
11456         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11457         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11458         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11459         A flushing pad cannot be used to alloc_buffer from.
11460
11461 2005-05-26  Wim Taymans  <wim@fluendo.com>
11462
11463         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11464         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11465         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11466         (gst_bus_create_watch), (gst_bus_add_watch_full):
11467         * gst/gstbus.h:
11468         Implement a real GSource and use g_main_context_wakeup() to
11469         signal new messages instead of the socketpair.
11470
11471 2005-05-25  Wim Taymans  <wim@fluendo.com>
11472
11473         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11474         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11475         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11476         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11477         (gst_pad_send_event), (gst_pad_start_task):
11478         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11479         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11480         (gst_queue_sink_activate), (gst_queue_src_activate),
11481         (gst_queue_change_state):
11482         * gst/gstqueue.h:
11483         Fix state changes for non sinks. We now change sinks, then elements
11484         with unconnected srcpads, then the rest.
11485         More efficient queue unlocking in flush and state changes.
11486         Set the pad activate mode even if it does not have an activate
11487         function.
11488
11489 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11490
11491         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11492           Don't go in pull mode for non-seekable sources.
11493         * gst/elements/gsttypefindelement.h:
11494         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11495         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11496         (free_entry), (stop_typefinding),
11497         (gst_type_find_element_handle_event), (find_peek),
11498         (gst_type_find_element_chain), (do_pull_typefind),
11499         (gst_type_find_element_change_state):
11500           Allow typefinding (w/o seeking) in push-mode, simplified version
11501           of what was in 0.8.
11502         * gst/gstutils.c: (gst_buffer_join):
11503         * gst/gstutils.h:
11504           gst_buffer_join() from 0.8.
11505
11506 2005-05-25  Wim Taymans  <wim@fluendo.com>
11507
11508         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11509         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11510         (gst_pad_send_event), (gst_pad_start_task):
11511         Disable attempt at mode switching until it is figured out.
11512
11513 2005-05-25  Wim Taymans  <wim@fluendo.com>
11514
11515         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11516         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11517         (gst_basesink_finish_preroll), (gst_basesink_chain),
11518         (gst_basesink_loop), (gst_basesink_activate),
11519         (gst_basesink_change_state):
11520         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11521         (gst_basesrc_get_range), (gst_basesrc_loop),
11522         (gst_basesrc_activate):
11523         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11524         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11525         (gst_real_pad_init), (gst_real_pad_set_property),
11526         (gst_real_pad_get_property), (gst_pad_set_active),
11527         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11528         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11529         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11530         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11531         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11532         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11533         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11534         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11535         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11536         (gst_pad_stop_task):
11537         * gst/gstpad.h:
11538         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11539         (gst_queue_loop), (gst_queue_src_activate):
11540         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11541         (gst_task_get_state):
11542         * gst/gsttask.h:
11543         * gst/schedulers/threadscheduler.c:
11544         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11545         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11546         in task function.
11547         Remove ACTIVE pad flag, use FLUSHING everywhere
11548         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11549         functions.
11550         Add locks around IS_FLUSHING when reading.
11551         Take STREAM lock in chain(), get_range() functions so plugins
11552         don't need to take it anymore.
11553         
11554
11555
11556 2005-05-25  Wim Taymans  <wim@fluendo.com>
11557
11558         * tools/gst-launch.c: (event_loop):
11559         Unref message after using its contents instead of
11560         before.
11561
11562 2005-05-24  Wim Taymans  <wim@fluendo.com>
11563
11564         * docs/design/draft-ghostpads.txt:
11565         * docs/design/draft-push-pull.txt:
11566         * docs/design/draft-query.txt:
11567         * docs/design/part-overview.txt:
11568         Docs updates, added general overview doc.
11569
11570 2005-05-21  David Schleef  <ds@schleef.org>
11571
11572         * docs/gst/tmpl/old/GstBin.sgml:
11573         * docs/gst/tmpl/old/GstBuffer.sgml:
11574         * docs/gst/tmpl/old/GstCaps.sgml:
11575         * docs/gst/tmpl/old/GstClock.sgml:
11576         * docs/gst/tmpl/old/GstCompat.sgml:
11577         * docs/gst/tmpl/old/GstData.sgml:
11578         * docs/gst/tmpl/old/GstElement.sgml:
11579         * docs/gst/tmpl/old/GstEvent.sgml:
11580         * docs/gst/tmpl/old/GstIndex.sgml:
11581         * docs/gst/tmpl/old/GstStructure.sgml:
11582         * docs/gst/tmpl/old/GstTag.sgml:
11583         * docs/gst/tmpl/old/cothreads.sgml:
11584         * docs/gst/tmpl/old/cothreads_compat.sgml:
11585         * docs/gst/tmpl/old/gettext.sgml:
11586         * docs/gst/tmpl/old/gobject2gtk.sgml:
11587         * docs/gst/tmpl/old/grammar.tab.sgml:
11588         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11589         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11590         * docs/gst/tmpl/old/gst_private.sgml:
11591         * docs/gst/tmpl/old/gstaggregator.sgml:
11592         * docs/gst/tmpl/old/gstarch.sgml:
11593         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11594         * docs/gst/tmpl/old/gstbufferstore.sgml:
11595         * docs/gst/tmpl/old/gstdata_private.sgml:
11596         * docs/gst/tmpl/old/gstdisksink.sgml:
11597         * docs/gst/tmpl/old/gstdisksrc.sgml:
11598         * docs/gst/tmpl/old/gstelementfactory.sgml:
11599         * docs/gst/tmpl/old/gstextratypes.sgml:
11600         * docs/gst/tmpl/old/gstfakesink.sgml:
11601         * docs/gst/tmpl/old/gstfakesrc.sgml:
11602         * docs/gst/tmpl/old/gstfdsink.sgml:
11603         * docs/gst/tmpl/old/gstfdsrc.sgml:
11604         * docs/gst/tmpl/old/gstfilesink.sgml:
11605         * docs/gst/tmpl/old/gstfilesrc.sgml:
11606         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11607         * docs/gst/tmpl/old/gstidentity.sgml:
11608         * docs/gst/tmpl/old/gstindexfactory.sgml:
11609         * docs/gst/tmpl/old/gstmarshal.sgml:
11610         * docs/gst/tmpl/old/gstmd5sink.sgml:
11611         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11612         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11613         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11614         * docs/gst/tmpl/old/gstpipefilter.sgml:
11615         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11616         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11617         * docs/gst/tmpl/old/gstshaper.sgml:
11618         * docs/gst/tmpl/old/gstspider.sgml:
11619         * docs/gst/tmpl/old/gstspideridentity.sgml:
11620         * docs/gst/tmpl/old/gststatistics.sgml:
11621         * docs/gst/tmpl/old/gsttee.sgml:
11622         * docs/gst/tmpl/old/gsttimecache.sgml:
11623         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11624         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11625         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11626         * docs/gst/tmpl/old/types.sgml:
11627           I didn't intend to add these or check them in.
11628
11629 2005-05-19  David Schleef  <ds@schleef.org>
11630
11631         * configure.ac: Use -no-common everywhere.  In a sane world, it
11632           would be the default in libtool, because without it, you can't
11633           build DLLs on Windows.
11634         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11635         * docs/gst/gstreamer-sections.txt:
11636         * docs/gst/tmpl/gstcpu.sgml:
11637         * docs/gst/tmpl/gstdata.sgml:
11638         * docs/gst/tmpl/gstthread.sgml:
11639
11640 2005-05-19  David Schleef  <ds@schleef.org>
11641
11642         * gst/gstminiobject.c: (gst_value_set_mini_object),
11643         (gst_value_take_mini_object), (gst_value_get_mini_object):
11644         * gst/gstminiobject.h: Add GValue set/get functions.
11645
11646 2005-05-19  Wim Taymans  <wim@fluendo.com>
11647
11648         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11649         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11650         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11651         * gst/gstbuffer.h:
11652         * gst/gstbus.c: (gst_bus_post):
11653         * gst/gstelement.c: (gst_element_get_random_pad):
11654         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11655         Make subbufer unref the parent in finalize.
11656         some more debugging info.
11657
11658
11659 2005-05-19  Wim Taymans  <wim@fluendo.com>
11660
11661         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11662         (gst_basesink_init), (gst_basesink_finalize),
11663         (gst_basesink_activate), (gst_basesink_change_state):
11664         Don't free preroll queue too early.
11665
11666 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11667
11668         * gst/Makefile.am:
11669         * gst/ROADMAP:
11670           Hi, I'm outdated. Please shoot me.
11671
11672 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11673
11674         * gst/gstpipeline.c: (gst_pipeline_send_event):
11675           Do not access variables after they have been deleted.
11676
11677 2005-05-19  Wim Taymans  <wim@fluendo.com>
11678
11679         * tools/gst-inspect.c: (print_plugin_features):
11680         A plugin feature does unfortunatly not use the
11681         object name yet...
11682
11683 2005-05-18  Wim Taymans  <wim@fluendo.com>
11684
11685         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11686         Port _span() functions to new subbuffers.
11687
11688 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11689
11690         * gst/gstbin.c: (gst_bin_add_func):
11691           Fix clock settery in bins when adding kids after the clock has
11692           been selected.
11693
11694 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11695
11696         * gst/elements/gstidentity.c: (gst_identity_class_init):
11697           Workaround until signals support GstMiniObject.
11698
11699 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11700
11701         * gst/gstbuffer.c:
11702         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11703
11704 2005-05-18  Wim Taymans  <wim@fluendo.com>
11705
11706         * gst/base/Makefile.am:
11707         * gst/base/gstadapter.c: (gst_adapter_base_init),
11708         (gst_adapter_class_init), (gst_adapter_init),
11709         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11710         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11711         (gst_adapter_flush), (gst_adapter_available),
11712         (gst_adapter_available_fast):
11713         * gst/base/gstadapter.h:
11714         Ported and added adapter to the base classes.
11715
11716 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11717
11718         * gst/gst.c:
11719         * gst/gstmessage.c:
11720           Make sure the class is reffed/unreffed once before threads can be
11721           used.  Fixes #304551.
11722
11723 2005-05-17  Wim Taymans  <wim@fluendo.com>
11724
11725         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11726         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11727         * gst/gstminiobject.c: (gst_mini_object_get_type),
11728         (gst_mini_object_free):
11729         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11730         (gst_pad_push), (gst_pad_push_event):
11731         * gst/gstqueue.c: (gst_queue_change_state):
11732         Don't queue buffers in basesink when we are flushing.
11733         Unref buffer when flushing in basesink.
11734         Flush queue when going to READY
11735         Unref buffer when _push() returns an error.
11736         Don't free MiniObject instance when refcount is incremented
11737         in _finalize() so that we can recover objects.
11738
11739 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11740
11741         * docs/manual/advanced-schedulers.xml:
11742         * docs/manual/appendix-checklist.xml:
11743         * docs/pwg/advanced-clock.xml:
11744         * docs/pwg/advanced-interfaces.xml:
11745         * docs/pwg/advanced-request.xml:
11746         * docs/pwg/advanced-types.xml:
11747         * docs/pwg/intro-preface.xml:
11748         * examples/plugins/example.c: (gst_example_get_type),
11749         (gst_example_class_init), (gst_example_chain),
11750         (gst_example_set_property), (gst_example_get_property),
11751         (gst_example_change_state), (plugin_init):
11752         * examples/plugins/example.h:
11753           small doc fixes
11754
11755 2005-05-17  Wim Taymans  <wim@fluendo.com>
11756
11757         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11758         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11759         * gst/gstqueue.c: (gst_queue_change_state):
11760         Clear queue when going to READY.
11761         Remove IN_SETCAPS flag too.
11762
11763 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11764
11765         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11766           Remove implicit cast from gboolean to GstElementStateReturn;
11767           make sure we still return failure in paused => ready case if
11768           the parent class fails to change state and our own stop 
11769           vfunc succeeds.
11770
11771 2005-05-17  Wim Taymans  <wim@fluendo.com>
11772
11773         * tools/gst-launch.c: (event_loop):
11774         Message was unreffed too soon.
11775
11776 2005-05-16  Andy Wingo  <wingo@pobox.com>
11777
11778         * gst/gstbin.c (sink_iterator_filter): Err... um...
11779
11780         * check/gst/gstbin.c (test_ghost_pads): New test for the
11781         ghosting-if-elements-not-in-same-bin behavior.
11782
11783 2005-05-16  David Schleef  <ds@schleef.org>
11784
11785         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11786         accessing refcount directly.
11787
11788 2005-05-15  David Schleef  <ds@schleef.org>
11789
11790         * check/Makefile.am: remove GstData checks
11791         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11792         * gst/Makefile.am: add miniobject, remove data
11793         * gst/gst.h: add miniobject, remove data
11794         * gst/gstdata.c: remove
11795         * gst/gstdata.h: remove
11796         * gst/gstdata_private.h: remove
11797         * gst/gsttypes.h: remove GstEvent and GstMessage
11798         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11799         * gst/gstmarshal.list: change BOXED -> OBJECT
11800
11801         Implement GstMiniObject.
11802         * gst/gstminiobject.c:
11803         * gst/gstminiobject.h:
11804
11805         Modify to be subclasses of GstMiniObject.
11806         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11807         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11808         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11809         (gst_subbuffer_get_type), (gst_subbuffer_init),
11810         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11811         (gst_buffer_span):
11812         * gst/gstbuffer.h:
11813         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11814         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11815         (_gst_event_copy), (gst_event_new):
11816         * gst/gstevent.h:
11817         * gst/gstmessage.c: (_gst_message_initialize),
11818         (gst_message_get_type), (gst_message_class_init),
11819         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11820         (gst_message_new), (gst_message_new_error),
11821         (gst_message_new_warning), (gst_message_new_tag),
11822         (gst_message_new_state_changed), (gst_message_new_application):
11823         * gst/gstmessage.h:
11824         * gst/gstprobe.c: (gst_probe_perform),
11825         (gst_probe_dispatcher_dispatch):
11826         * gst/gstprobe.h:
11827         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11828         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11829         (_gst_query_copy), (gst_query_new):
11830
11831         Update elements for GstData -> GstMiniObject changes
11832         * gst/gstquery.h:
11833         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11834         (gst_queue_chain), (gst_queue_loop):
11835         * gst/elements/gstbufferstore.c:
11836         (gst_buffer_store_add_buffer_func),
11837         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11838         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11839         (gst_fakesink_render):
11840         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11841         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11842         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11843         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11844         (gst_filesrc_create_read):
11845         * gst/elements/gstidentity.c: (gst_identity_class_init):
11846         * gst/elements/gsttypefindelement.c:
11847         (gst_type_find_element_src_event), (free_entry_buffers),
11848         (gst_type_find_element_handle_event):
11849         * libs/gst/dataprotocol/dataprotocol.c:
11850         (gst_dp_header_from_buffer):
11851         * libs/gst/dataprotocol/dataprotocol.h:
11852         * libs/gst/dataprotocol/dp-private.h:
11853
11854 2005-05-15  David Schleef  <ds@schleef.org>
11855
11856         * gst/elements/gstelements.c: Don't include headers that were
11857         just removed.
11858
11859 2005-05-15  David Schleef  <ds@schleef.org>
11860
11861         * gst/elements/Makefile.am: Remove some elements that don't
11862         need to be in the core (or even exist at all).
11863         * gst/elements/gstaggregator.c:
11864         * gst/elements/gstaggregator.h:
11865         * gst/elements/gstmd5sink.c:
11866         * gst/elements/gstmd5sink.h:
11867         * gst/elements/gstmultifilesrc.c:
11868         * gst/elements/gstmultifilesrc.h:
11869         * gst/elements/gstpipefilter.c:
11870         * gst/elements/gstpipefilter.h:
11871         * gst/elements/gstshaper.c:
11872         * gst/elements/gstshaper.h:
11873         * gst/elements/gststatistics.c:
11874         * gst/elements/gststatistics.h:
11875         * po/POTFILES.in: Remove above files.
11876
11877 2005-05-14  Andy Wingo  <wingo@pobox.com>
11878
11879         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11880         so as to get the refs right.
11881         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11882         unreffing objects that don't pass the filter.
11883
11884         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11885         gst_element_set_bus.
11886         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11887         normal cases, this will destroy the bus.
11888
11889         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11890         object.
11891
11892         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11893         has no sinks.
11894
11895 2005-05-13  Andy Wingo  <wingo@pobox.com>
11896
11897         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11898         gst_pad_link, call pad_link_maybe_ghosting,
11899         (pad_link_maybe_ghosting): Links pads, making sure that the
11900         elements being linked are in the same bin.
11901         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11902         Helpers for pad_link_maybe_ghosting.
11903
11904 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11905
11906         * configure.ac:
11907           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11908
11909 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11910
11911         * docs/design/part-element-source.txt:
11912           Mention GstPushSrc
11913
11914 2005-05-12  Wim Taymans  <wim@fluendo.com>
11915
11916         * gst/base/gstbasesink.c: (gst_basesink_init),
11917         (gst_basesink_activate):
11918         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11919         (gst_basesrc_is_seekable):
11920         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11921         (bin_element_is_sink), (gst_bin_change_state):
11922         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11923         * gst/gstelement.h:
11924         Identify sinks by their flag to avoid overly complicated
11925         checks (fow now).
11926         Do state changes even for elements not reachable from the
11927         sinks.
11928         BaseSink is a sink now :)
11929         Some more debugging info in the basesrc.
11930
11931
11932 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11933
11934         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11935           Implement _query on a bin, similar to _send_event.
11936
11937 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11938
11939         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11940           Discont event offset format should be GST_FORMAT_BYTES,
11941           not GST_FORMAT_TIME.
11942
11943 2005-05-12  Wim Taymans  <wim@fluendo.com>
11944
11945         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11946         Same fix as Ronald's but without the signal. 
11947
11948 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11949
11950         * gst/gstutils.c: (gst_element_query_position):
11951           No, an element is not a pad.
11952
11953 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11954
11955         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11956         (gst_bin_get_state):
11957           If a child is removed from a bin while we remove the child from
11958           the bin and while we're retrieving its state, signal this to the
11959           get_state function so we abort the wait (instead of waiting for
11960           a timeout) and can immediately re-iterate over all other elements.
11961
11962 2005-05-12  Wim Taymans  <wim@fluendo.com>
11963
11964         * gst/base/Makefile.am:
11965         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11966         (gst_basesrc_start):
11967         * gst/base/gstbasesrc.h:
11968         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11969         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11970         (gst_pushsrc_init), (gst_pushsrc_create):
11971         * gst/base/gstpushsrc.h:
11972         Added is_seekable to BaseSrc
11973         Added simple PushSrc.
11974
11975 2005-05-11  Wim Taymans  <wim@fluendo.com>
11976
11977         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11978         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11979         (gst_element_link_pads), (gst_element_query_position),
11980         (gst_element_query_convert), (intersect_caps_func),
11981         (gst_pad_query_position), (gst_pad_query_convert):
11982         Fix refcounting in utils function.
11983         No point in trying to activate a pad when it's added, it could
11984         be added from the state change function and then we deadlock, the
11985         element has to decide what to do.
11986
11987 2005-05-10  Andy Wingo  <wingo@pobox.com>
11988
11989         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11990         *all* the arguments.
11991
11992         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11993         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11994         lock (according to the docs -- if this is wrong change the docs).
11995
11996         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11997         flush messages in the NULL state.
11998
11999         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12000         message immediately and return.
12001         (gst_bus_set_flushing): New function. If a bus is flushing, it
12002         flushes out any queued messages and immediately unrefs new
12003         messages. This is so when an element goes to NULL, all of the
12004         unhandled messages coming from it can be freed, and their
12005         references to the element dropped. In other words: message source
12006         ref considered harmful :P
12007
12008         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12009         we're finished with it.
12010
12011         * gst/gstmessage.c (gst_message_new_state_changed): 
12012
12013 2005-05-10  Wim Taymans  <wim@fluendo.com>
12014
12015         * gst/gstvalue.c: (gst_value_compare_flags),
12016         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12017         (_gst_value_initialize):
12018         Added flags serialize/deserialize/compare code.
12019
12020 2005-05-09  Andy Wingo  <wingo@pobox.com>
12021
12022         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12023         Intersect the peer's caps with our caps.
12024
12025 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12026
12027         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12028         * gst/elements/gsttypefindelement.c: (find_peek):
12029           Handle negative offsets better. Fixes decodebin.
12030
12031 2005-05-09  Wim Taymans  <wim@fluendo.com>
12032
12033         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12034         (gst_base_transform_event):
12035         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12036         Implement accept_caps.
12037         Fix silly lock/unlock mismatch in base class.
12038
12039 2005-05-09  Wim Taymans  <wim@fluendo.com>
12040
12041         * docs/design/draft-push-pull.txt:
12042         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12043         * gst/elements/gstfilesink.c: (gst_filesink_init),
12044         (gst_filesink_query):
12045         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12046         (gst_type_find_handle_src_query), (find_element_get_length):
12047         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12048         * gst/gstelement.h:
12049         * gst/gstmessage.c:
12050         * gst/gstmessage.h:
12051         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12052         (gst_real_pad_get_caps_unlocked),
12053         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12054         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12055         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12056         (gst_real_pad_dispose), (gst_real_pad_finalize),
12057         (gst_pad_load_and_link), (gst_pad_save_thyself),
12058         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12059         (gst_pad_check_pull_range), (gst_pad_pull_range),
12060         (gst_pad_template_get_type), (gst_pad_template_class_init),
12061         (gst_pad_template_init), (gst_pad_template_dispose),
12062         (name_is_valid), (gst_static_pad_template_get),
12063         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12064         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12065         (gst_pad_get_element_private), (gst_pad_start_task),
12066         (gst_pad_pause_task), (gst_pad_stop_task),
12067         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12068         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12069         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12070         (gst_ghost_pad_new):
12071         * gst/gstpad.h:
12072         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12073         (gst_query_new_position), (gst_query_set_position),
12074         (gst_query_parse_position), (gst_query_new_convert),
12075         (gst_query_set_convert), (gst_query_parse_convert):
12076         * gst/gstquery.h:
12077         * gst/gstqueryutils.c:
12078         * gst/gstqueryutils.h:
12079         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12080         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12081         (gst_queue_handle_src_query):
12082         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12083         (gst_element_query_position), (gst_element_query_convert),
12084         (intersect_caps_func), (gst_pad_query_position),
12085         (gst_pad_query_convert):
12086         * gst/gstutils.h:
12087         * tools/gst-inspect.c: (print_pad_info):
12088         * tools/gst-xmlinspect.c: (print_element_info):
12089         Remove old query functions. Ported old code.
12090         Added position/convert helper functions to gstutils.
12091         Reordered gstpad.c code, grouping relevant things.
12092         Remove gst_message_new(), always need to speficy a specific
12093         message.
12094
12095
12096 2005-05-09  Andy Wingo  <wingo@pobox.com>
12097
12098         * gst/gstiterator.h: Add some includes.
12099
12100         * gst/gstqueryutils.h: Include more headers.
12101
12102         * gst/gstpad.h:
12103         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12104         some uses of gst_pad_query.
12105
12106         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12107         NULL out parameters.
12108         (gst_query_new_position): New proc, allocates a new position
12109         query.
12110
12111         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12112         gstqueryutils.c to the build.
12113
12114         * gst/gststructure.c (gst_structure_set_valist): Implement with
12115         the generic G_VALUE_COLLECT.
12116         
12117 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12118
12119         * gst/Makefile.am: (gst_headers):
12120         Added gstqueryutils.h to the list of headers to install, that was
12121         a 'nachty' move wingo :)
12122
12123 2005-05-06  Andy Wingo  <wingo@pobox.com>
12124
12125         * gst/gstquery.h
12126         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12127         GstData, init a memchunk.
12128         (standard_definitions): Add a few query types, deprecate a few.
12129         (gst_query_get_type): New proc.
12130         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12131         implementation.
12132         (gst_query_new_application, gst_query_get_structure): New public
12133         procs.
12134
12135         * docs/design/draft-query.txt: Removed LINKS from the query types,
12136         because all the rest can be dispatched to other pads -- seemed
12137         ugly to have a query that couldn't be dispatched. internal_links
12138         is fine as a pad method.
12139
12140         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12141         in gstpad.c, but maintain binary compatibility for the moment.
12142         Will fix before 0.9 is out.
12143
12144         * gst/gstqueryutils.c: 
12145         * gst/gstqueryutils.h: New files, implement 3 methods for each
12146         query type: parse_query, parse_response, and set. Probably need an
12147         allocator as well.
12148
12149         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12150
12151         * gst/elements/gstfilesink.c (gst_filesink_query2):
12152         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12153         query_types, and formats methods.
12154
12155         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12156         (gst_pad_set_query2_function): New functions.
12157         (gst_real_pad_init): Set query2_default as the default query2
12158         function. Basically just dispatches to internally linked pads.
12159
12160         Needs review!
12161         
12162         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12163         without using the atomic operations. Only one thread can possibly
12164         be accessing the data at this point. Changed so as to avoid
12165         gst_atomic operations.
12166
12167 2005-05-06  Wim Taymans  <wim@fluendo.com>
12168
12169         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12170         Also set caps if we use the fallback buffer alloc.
12171
12172 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12173
12174         * docs/gst/Makefile.am:
12175         * docs/gst/gstreamer-docs.sgml:
12176         * docs/gst/gstreamer-sections.txt:
12177         * docs/gst/tmpl/gstatomic.sgml:
12178         * docs/gst/tmpl/gstmemchunk.sgml:
12179         * testsuite/elements/struct_i386.h:
12180         * win32/GStreamer.vcproj:
12181         * win32/Makefile:
12182           Purge GstAtomic stuff from docs and win32 makefiles as well
12183
12184 2005-05-06  Wim Taymans  <wim@fluendo.com>
12185
12186         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12187         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12188         * gst/gstpad.c: (gst_pad_peer_get_caps):
12189         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12190         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12191         (gst_queue_src_activate), (gst_queue_change_state):
12192         * gst/gstqueue.h:
12193         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12194         (intersect_caps_func):
12195         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12196         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12197         Some fixes for the peer_get_caps() change.
12198
12199 2005-05-06  Wim Taymans  <wim@fluendo.com>
12200
12201         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12202         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12203         (gst_basesink_activate):
12204         Actually do something with error codes returned from the push
12205         functions.
12206
12207 2005-05-06  Wim Taymans  <wim@fluendo.com>
12208
12209         * docs/design/part-element-sink.txt:
12210         * docs/design/part-element-source.txt:
12211         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12212         (gst_basesink_event), (gst_basesink_activate):
12213         * gst/base/gstbasesink.h:
12214         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12215         (gst_basesrc_activate):
12216         * gst/base/gstbasesrc.h:
12217         * gst/gstelement.c: (gst_element_pads_activate):
12218         Some more documentation.
12219         Fixed scheduling decision in _pads_activate().
12220
12221 2005-05-05  Andy Wingo  <wingo@pobox.com>
12222
12223         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12224         the test suite.
12225
12226 2005-05-05  Wim Taymans  <wim@fluendo.com>
12227
12228         * gst/base/Makefile.am:
12229         * gst/base/gstbasesink.h:
12230         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12231         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12232         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12233         (gst_collectpads_class_init), (gst_collectpads_init),
12234         (gst_collectpads_finalize), (gst_collectpads_new),
12235         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12236         (find_pad), (gst_collectpads_remove_pad),
12237         (gst_collectpads_is_active), (gst_collectpads_collect),
12238         (gst_collectpads_collect_range), (gst_collectpads_start),
12239         (gst_collectpads_stop), (gst_collectpads_peek),
12240         (gst_collectpads_pop), (gst_collectpads_available),
12241         (gst_collectpads_read), (gst_collectpads_flush),
12242         (gst_collectpads_chain):
12243         * gst/base/gstcollectpads.h:
12244         * gst/elements/Makefile.am:
12245         * gst/elements/gstelements.c:
12246         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12247         (gst_fakesink_get_times), (gst_fakesink_event),
12248         (gst_fakesink_preroll), (gst_fakesink_render):
12249         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12250         (gst_filesink_init), (gst_filesink_set_location),
12251         (gst_filesink_open_file), (gst_filesink_close_file),
12252         (gst_filesink_pad_query), (gst_filesink_event),
12253         (gst_filesink_render), (gst_filesink_change_state):
12254         * gst/elements/gstfilesink.h:
12255         Added object to help in making collect pad based elements.
12256         Ported filesink.
12257         Make event function in sink baseclass return gboolean.
12258
12259 2005-05-05  Wim Taymans  <wim@fluendo.com>
12260
12261         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12262         (gst_bin_get_by_name):
12263         * gst/gstbuffer.h:
12264         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12265         (gst_clock_finalize):
12266         * gst/gstdata.c: (gst_data_replace):
12267         * gst/gstdata.h:
12268         * gst/gstelement.c: (gst_element_request_pad),
12269         (gst_element_pads_activate):
12270         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12271         (gst_object_unref):
12272         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12273         (gst_pad_set_checkgetrange_function),
12274         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12275         (gst_pad_check_pull_range), (gst_pad_pull_range),
12276         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12277         (gst_pad_pause_task), (gst_pad_stop_task):
12278         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12279         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12280         Fix name lookup in GstBin.
12281         Added _data_replace() function and _buffer_replace()
12282         Use finalize method to clean up clock.
12283         Fix refcounting on request pads.
12284         Fix pad schedule mode error.
12285         Some more object refcounting debug info,
12286
12287
12288 2005-05-04  Andy Wingo <wingo@pobox.com>
12289
12290         * check/Makefile.am:
12291         * docs/gst/tmpl/gstatomic.sgml:
12292         * docs/gst/tmpl/gstplugin.sgml:
12293         * gst/base/gstbasesink.c: (gst_basesink_activate):
12294         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12295         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12296         (gst_basesrc_query), (gst_basesrc_set_property),
12297         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12298         (gst_basesrc_activate):
12299         * gst/base/gstbasesrc.h:
12300         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12301         (gst_base_transform_src_activate):
12302         * gst/elements/gstelements.c:
12303         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12304         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12305         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12306         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12307         (gst_type_find_element_checkgetrange),
12308         (gst_type_find_element_activate):
12309         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12310         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12311         (gst_caps_load_thyself):
12312         * gst/gstelement.c: (gst_element_pads_activate),
12313         (gst_element_save_thyself), (gst_element_restore_thyself):
12314         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12315         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12316         * gst/gstpad.h:
12317         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12318         (gst_xml_parse_file), (gst_xml_parse_memory),
12319         (gst_xml_get_element), (gst_xml_make_element):
12320         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12321         (_file_index_id_save_xml), (gst_file_index_commit):
12322         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12323         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12324         (load_paths):
12325         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12326         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12327         * tools/gst-complete.c: (main):
12328         * tools/gst-compprep.c: (main):
12329         * tools/gst-inspect.c: (print_element_properties_info):
12330         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12331         * tools/gst-xmlinspect.c: (print_element_properties):
12332         GCC 4 fixen.
12333         
12334 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12335
12336         * gst/gstplugin.c: (gst_plugin_check_module),
12337         (gst_plugin_check_file), (gst_plugin_load_file):
12338             apply patch from #172526 to make register work on MacOSX
12339
12340 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12341
12342         * docs/gst/tmpl/gstconfig.sgml:
12343         * gst/gstconfig.h.in:
12344           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12345         * testsuite/debug/printf_extension.c: (main):
12346           Do not use GST_PTR_FORMAT on pointers to types with
12347           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12348         * testsuite/elements/property.h:
12349           use correct printf format
12350
12351 2005-05-02  Wim Taymans  <wim@fluendo.com>
12352
12353         * docs/design/draft-push-pull.txt:
12354         * docs/design/draft-query.txt:
12355         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12356         (gst_basesrc_start):
12357         Added draft for new query API.
12358         Added draft for better selecting scheduling methods.
12359         Make basesrc ignore length if the subclass does not support
12360         it.
12361
12362 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * gst/Makefile.am:
12365           possible fixes for automake-1.5 - _LIBADD is reserved
12366
12367 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12368
12369         * docs/faq/Makefile.am:
12370         * docs/manual/Makefile.am:
12371         * docs/manuals.mak:
12372         * docs/pwg/Makefile.am:
12373         * gst/Makefile.am:
12374           possible fixes for automake-1.5
12375
12376 2005-04-28  Wim Taymans  <wim@fluendo.com>
12377
12378         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12379         (gst_basesink_pad_getcaps), (gst_basesink_init),
12380         (gst_basesink_do_sync):
12381         * gst/gstclock.c: (gst_clock_entry_new):
12382         * gst/gstevent.c: (gst_event_discont_get_value):
12383         * gst/gstpipeline.c: (pipeline_bus_handler),
12384         (gst_pipeline_change_state):
12385         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12386         Better debugging of clocking info.
12387         Allow NULL values when getting discont values.
12388
12389 2005-04-27  Wim Taymans  <wim@fluendo.com>
12390
12391         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12392         * check/gst/gstpad.c: (gst_pad_suite):
12393         Increase timeout for checks.
12394
12395 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12396
12397         * check/Makefile.am:
12398           fix the broken rule for cleanup.  Apparently this rule is
12399           only needed on FC2, so maybe this warrants further autotool
12400           inspection.
12401
12402 2005-04-26  Wim Taymans  <wim@fluendo.com>
12403
12404         * gst/gsttrashstack.h:
12405         Ooohh. a nasty one! After having a failed pop() from the stack,
12406         it's possible that the stack is empty. In that case, don't
12407         follow the NULL pointer.
12408
12409 2005-04-25  Wim Taymans  <wim@fluendo.com>
12410
12411         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12412         (gst_pad_set_checkgetrange_function),
12413         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12414         (gst_pad_check_pull_range), (gst_pad_pull_range),
12415         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12416         (gst_pad_pause_task), (gst_pad_stop_task):
12417         * gst/gstplugin.c: (gst_plugin_load):
12418         * gst/gstplugin.h:
12419         Remove gst_library_load as it does more harm than good with
12420         the new g_module flags.
12421         Revert bogus caps template check in pad linking, pad caps
12422         are important when linking not the template, which is more
12423         general than the current caps.
12424
12425 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12426
12427         * gst/autoplug/.cvsignore:
12428         * gst/autoplug/Makefile.am:
12429         * gst/autoplug/gstsearchfuncs.c:
12430         * gst/autoplug/gstsearchfuncs.h:
12431         * gst/autoplug/gstspider.c:
12432         * gst/autoplug/gstspider.h:
12433         * gst/autoplug/gstspideridentity.c:
12434         * gst/autoplug/gstspideridentity.h:
12435         * gst/autoplug/spidertest.c:
12436           Die, spider, die.
12437
12438 2005-04-25  Wim Taymans  <wim@fluendo.com>
12439
12440         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12441         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12442         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12443         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12444         * gst/gstpad.h:
12445         Added stubs for unimplemented functions. 
12446
12447 2005-04-24  David Schleef  <ds@schleef.org>
12448
12449         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12450         please fix.
12451
12452 2005-04-24  David Schleef  <ds@schleef.org>
12453
12454         Convert everything from GstAtomicInt to g_atomic_int_*, and
12455         remove gstatomic.
12456         * gst/Makefile.am:
12457         * gst/gstatomic.c:
12458         * gst/gstatomic.h:
12459         * gst/gstatomic_impl.h:
12460         * gst/gstbuffer.c:
12461         * gst/gstcaps.c:
12462         * gst/gstcaps.h:
12463         * gst/gstclock.c:
12464         * gst/gstclock.h:
12465         * gst/gstdata.c:
12466         * gst/gstdata.h:
12467         * gst/gstdata_private.h:
12468         * gst/gstevent.c:
12469         * gst/gstinfo.c:
12470         * gst/gstinfo.h:
12471         * gst/gstmessage.c:
12472         * gst/gstobject.c:
12473         * gst/gstobject.h:
12474         * gst/gststructure.c:
12475         * gst/gststructure.h:
12476         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12477         * gst/gstutils.h:
12478
12479 2005-04-24  David Schleef  <ds@schleef.org>
12480
12481         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12482         make the regressions tests work.  Remove some code that is no
12483         longer true.
12484         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12485         Disable warning for pads without templates.
12486
12487 2005-04-24  David Schleef  <ds@schleef.org>
12488
12489         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12490         functions that handle filtered links.
12491         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12492         removed functions.
12493         * gst/gstutils.c: Fix/remove utility functions that handle
12494         filtered caps.
12495         * gst/gstutils.h:
12496         * gst/gstvalue.c: Add serialization/deserialization of caps
12497         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12498         requires fixing so that the filter caps notation creates
12499         a capsfilter element and sets the filter_caps property.  I
12500         think everyone probably wants to keep the shorthand notation.
12501         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12502         * docs/gst/tmpl/gstpad.sgml:
12503
12504         * gst/elements/gstelements.c: Register capsfilter element.
12505         * gst/Makefile.am: fix spacing
12506         * docs/random/ds/0.9-suggested-changes: random
12507
12508 2005-04-23  David Schleef  <ds@schleef.org>
12509
12510         * gst/elements/Makefile.am:
12511         * gst/elements/gstcapsfilter.c: New element that acts like an
12512         identity, but filters caps.  Will eventually replace filtered
12513         caps in pad linking.
12514         * gst/gstutils.c: (gst_element_create_all_pads): New function
12515         to create all the ALWAYS pads that are registered with an
12516         element class.  This functionality should eventually be
12517         merged in with GstElement initialization.
12518         * gst/gstutils.h:
12519         * testsuite/trigger/README: part of trigger test code that should
12520         have been checked in a long time ago.
12521
12522 2005-04-23  David Schleef  <ds@schleef.org>
12523
12524         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12525         needed with new versions of libtool (nobody will confirm this),
12526         and hard to carry around.
12527         * gst/autoplug/Makefile.am:
12528         * gst/base/Makefile.am:
12529         * gst/elements/Makefile.am:
12530         * gst/indexers/Makefile.am:
12531         * gst/schedulers/Makefile.am:
12532         * libs/gst/bytestream/Makefile.am:
12533         * libs/gst/control/Makefile.am:
12534         * libs/gst/dataprotocol/Makefile.am:
12535         * libs/gst/getbits/Makefile.am:
12536
12537 2005-04-21  Wim Taymans  <wim@fluendo.com>
12538
12539         * docs/design/draft-push-pull.txt:
12540         * docs/design/part-MT-refcounting.txt:
12541         * docs/design/part-TODO.txt:
12542         * docs/design/part-caps.txt:
12543         * docs/design/part-events.txt:
12544         * docs/design/part-gstbus.txt:
12545         * docs/design/part-gstpipeline.txt:
12546         * docs/design/part-messages.txt:
12547         * docs/design/part-push-pull.txt:
12548         * docs/design/part-query.txt:
12549         Some more docs.
12550
12551 2005-04-21  Wim Taymans  <wim@fluendo.com>
12552
12553         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12554         (gst_message_new), (gst_message_new_error),
12555         (gst_message_new_warning), (gst_message_new_tag),
12556         (gst_message_new_state_changed), (gst_message_new_application),
12557         (gst_message_get_structure):
12558         * gst/gstmessage.h:
12559         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12560         (gst_structure_copy_conditional):
12561         Use parent refcount in GstMessage to ensure GstStructure
12562         consistency.
12563         Cleaned up headers a bit.
12564         
12565
12566 2005-04-20  Wim Taymans  <wim@fluendo.com>
12567
12568         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12569         (gst_basesink_pad_getcaps), (gst_basesink_init),
12570         (gst_basesink_chain_unlocked):
12571         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12572         (gst_type_find_helper):
12573         * gst/elements/gsttypefindelement.c:
12574         (gst_type_find_element_have_type), (gst_type_find_element_init),
12575         (stop_typefinding), (gst_type_find_element_handle_event),
12576         (find_suggest), (gst_type_find_element_chain),
12577         (gst_type_find_element_checkgetrange),
12578         (gst_type_find_element_getrange), (do_typefind),
12579         (gst_type_find_element_activate):
12580         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12581         (gst_buffer_default_free), (gst_buffer_default_copy),
12582         (gst_buffer_set_caps):
12583         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12584         (gst_caps_replace):
12585         * gst/gstmessage.c: (gst_message_new),
12586         (gst_message_new_state_changed):
12587         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12588         (gst_pad_set_checkgetrange_function),
12589         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12590         (gst_pad_set_caps), (gst_pad_check_pull_range),
12591         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12592         * gst/gstpad.h:
12593         * gst/gsttypefind.c: (gst_type_find_register):
12594         Make gst_caps_replace() work like other _replace() functions.
12595         Use _caps_replace() where possible.
12596         Make sure _message_new() initialises its field.
12597         Add gst_static_pad_template_get_caps()
12598
12599
12600 2005-04-18  Andy Wingo  <wingo@pobox.com>
12601
12602         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12603         on the peer, not the pad. I think that was a typo. Pass an extra
12604         arg to see if random access is possible. Activate the pads as
12605         PULL_RANGE if possible.
12606
12607         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12608
12609         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12610         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12611         to PROP_....
12612
12613 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12614
12615         * docs/faq/using.xml:
12616           Add note on gstreamer-properties (#154996).
12617
12618 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12619
12620         * docs/random/bbb/optional-properties:
12621           Some analysis on optional properties.
12622
12623 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12624
12625         * docs/gst/tmpl/gstelementfactory.sgml:
12626         * gst/gstelement.h:
12627         * gst/gstelementfactory.c: (gst_element_factory_init),
12628         (gst_element_factory_cleanup), (gst_element_register),
12629         (__gst_element_factory_add_static_pad_template),
12630         (gst_element_factory_get_static_pad_templates),
12631         (gst_element_factory_can_src_caps),
12632         (gst_element_factory_can_sink_caps):
12633         * gst/registries/Makefile.am:
12634         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12635         (gst_xml_registry_class_init), (gst_xml_registry_init),
12636         (gst_xml_registry_new), (gst_xml_registry_set_property),
12637         (gst_xml_registry_get_property), (get_time), (make_dir),
12638         (gst_xml_registry_get_perms_func),
12639         (plugin_times_older_than_recurse), (plugin_times_older_than),
12640         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12641         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12642         (add_to_char_array), (read_string), (read_uint), (read_enum),
12643         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12644         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12645         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12646         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12647         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12648         (gst_xml_registry_rebuild):
12649         * gst/registries/gstlibxmlregistry.h:
12650         * tools/gst-compprep.c: (main):
12651         * tools/gst-inspect.c: (print_pad_templates_info):
12652         * tools/gst-xmlinspect.c: (print_element_info):
12653           Use libxml2 for registry parsing, use staticpadtemplates in
12654           elementfactories. Makes gst_init() +/- 10x faster.
12655
12656 2005-04-12  Wim Taymans  <wim@fluendo.com>
12657
12658         * gst/base/Makefile.am:
12659         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12660         (gst_basesink_pad_getcaps), (gst_basesink_init),
12661         (gst_basesink_event), (gst_basesink_change_state):
12662         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12663         (gst_basesrc_init), (gst_basesrc_query),
12664         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12665         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12666         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12667         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12668         (gst_basesrc_stop), (gst_basesrc_activate),
12669         (gst_basesrc_change_state):
12670         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12671         (helper_find_suggest), (gst_type_find_helper):
12672         * gst/base/gsttypefindhelper.h:
12673         * gst/elements/Makefile.am:
12674         * gst/elements/gstelements.c:
12675         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12676         (gst_fakesink_get_times), (gst_fakesink_event),
12677         (gst_fakesink_preroll), (gst_fakesink_render):
12678         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12679         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12680         (gst_fakesrc_get_property), (gst_fakesrc_create),
12681         (gst_fakesrc_start), (gst_fakesrc_stop):
12682         * gst/elements/gstfakesrc.h:
12683         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12684         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12685         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12686         (gst_filesrc_create_read), (gst_filesrc_create),
12687         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12688         (gst_filesrc_start):
12689         * gst/elements/gsttypefindelement.c:
12690         (gst_type_find_element_have_type), (gst_type_find_element_init),
12691         (start_typefinding), (stop_typefinding), (push_buffer_store),
12692         (gst_type_find_element_handle_event),
12693         (gst_type_find_element_chain),
12694         (gst_type_find_element_checkgetrange),
12695         (gst_type_find_element_getrange), (do_typefind),
12696         (gst_type_find_element_activate),
12697         (gst_type_find_element_change_state):
12698         * gst/elements/gsttypefindelement.h:
12699         * gst/gstpipeline.c: (pipeline_bus_handler):
12700         Added typefind helper.
12701         Small preroll fix in the base sink.
12702         Disable typefind code in basesrc.
12703         Crude port of typefindelement.
12704         Fakesrc cleanups.
12705
12706
12707 2005-04-11  Wim Taymans  <wim@fluendo.com>
12708
12709         * check/gst/gstbus.c: (gstbus_suite):
12710         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12711         * check/gstcheck.h:
12712           Fix up the timeout so that the test does not fail.
12713
12714 2005-04-06  Wim Taymans  <wim@fluendo.com>
12715
12716         * gst/base/README:
12717         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12718         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12719         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12720         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12721         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12722         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12723         (gst_basesrc_stop), (gst_basesrc_activate),
12724         (gst_basesrc_change_state), (basesrc_find_peek),
12725         (basesrc_find_suggest), (gst_basesrc_type_find):
12726         * gst/base/gstbasesrc.h:
12727         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12728         (gst_filesrc_class_init), (gst_filesrc_init),
12729         (gst_filesrc_finalize), (gst_filesrc_set_location),
12730         (gst_filesrc_set_property), (gst_filesrc_get_property),
12731         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12732         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12733         (gst_filesrc_create_read), (gst_filesrc_create),
12734         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12735         * gst/elements/gstfilesrc.h:
12736         * gst/gstelement.c: (gst_element_get_state_func),
12737         (gst_element_lost_state), (gst_element_pads_activate):
12738         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12739         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12740         (gst_pad_pull_range):
12741         * gst/gstpad.h:
12742         More work on the generic source base class, implement seeking,
12743         query.
12744         Make filesrc extend the base source class.
12745         Added gst_pad_set_checkgetrange_function to GstPad.
12746
12747 2005-04-06  Andy Wingo  <wingo@pobox.com>
12748
12749         * pkgconfig/gstreamer-base.pc.in:
12750         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12751
12752         * pkgconfig/Makefile.am:
12753         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12754
12755 2005-04-04  Wim Taymans  <wim@fluendo.com>
12756
12757         * gst/base/Makefile.am:
12758         * gst/base/README:
12759         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12760         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12761         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12762         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12763         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12764         (gst_basesrc_base_init), (gst_basesrc_class_init),
12765         (gst_basesrc_init), (gst_basesrc_get_formats),
12766         (gst_basesrc_get_query_types), (gst_basesrc_query),
12767         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12768         (gst_basesrc_set_property), (gst_basesrc_get_property),
12769         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12770         (gst_basesrc_loop), (gst_basesrc_activate),
12771         (gst_basesrc_change_state):
12772         * gst/base/gstbasesrc.h:
12773         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12774         (gst_fakesrc_class_init), (gst_fakesrc_init),
12775         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12776         (gst_fakesrc_get_property), (gst_fakesrc_create):
12777         * gst/elements/gstfakesrc.h:
12778         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12779         (gst_filesrc_open_file), (gst_filesrc_loop),
12780         (gst_filesrc_activate), (filesrc_find_peek),
12781         (gst_filesrc_type_find):
12782         Made base source class, make fakesrc extend it.
12783         Add comments to basesink class.
12784         Some filesrc cleanup.
12785
12786 2005-03-31  David Schleef  <ds@schleef.org>
12787
12788         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12789         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12790         expected to link against libgstreamer.
12791         * gst/base/Makefile.am: link against libgstreamer
12792         * gst/elements/Makefile.am: same
12793
12794 2005-03-31  Andy Wingo  <wingo@pobox.com>
12795
12796         * tests/instantiate/Makefile.am:
12797         * tests/instantiate/caps.c: Add test to test speed of caps copy
12798         and free.
12799
12800         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12801         GMemChunk to be fair.
12802
12803         * gst/gsttrashstack.h: Remove warning about using the fallback
12804         trash stack implementation, it's still faster than malloc.
12805
12806 2005-03-30  Andy Wingo  <wingo@pobox.com>
12807
12808         * tests/complexity.c: Add a copyright.
12809
12810 2005-03-31  Wim Taymans  <wim@fluendo.com>
12811
12812         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12813         (gst_base_transform_class_init), (gst_base_transform_init),
12814         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12815         (gst_base_transform_get_property),
12816         (gst_base_transform_sink_activate),
12817         (gst_base_transform_src_activate),
12818         (gst_base_transform_change_state):
12819         * gst/base/gstbasetransform.h:
12820         * gst/elements/gstidentity.c: (gst_identity_class_init),
12821         (gst_identity_event), (gst_identity_check_perfect),
12822         (gst_identity_transform), (gst_identity_start),
12823         (gst_identity_stop):
12824         Added start/stop methods to transform base class so subclasses 
12825         don't need to deal with state changes even.
12826
12827 2005-03-31  Wim Taymans  <wim@fluendo.com>
12828
12829         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12830         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12831         * gst/gstevent.h:
12832         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12833         (gst_pad_pull_range):
12834         Added rate to the discont event to prepare for variable speed
12835         and reverse playback.
12836
12837 2005-03-29  David Schleef  <ds@schleef.org>
12838
12839         * configure.ac:
12840         * testsuite/trigger/Makefile.am:
12841         * testsuite/trigger/trigger.c: A little example program to show
12842         how trigger-based elements can work.
12843
12844 2005-03-29  Wim Taymans  <wim@fluendo.com>
12845
12846         * gst/base/Makefile.am:
12847         * gst/base/README:
12848         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12849         (gst_basesink_base_init), (gst_basesink_class_init),
12850         (gst_basesink_pad_getcaps), (gst_basesink_init),
12851         (gst_basesink_activate), (gst_basesink_change_state):
12852         * gst/base/gstbasesink.h:
12853         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12854         (gst_base_transform_base_init), (gst_base_transform_finalize),
12855         (gst_base_transform_class_init), (gst_base_transform_init),
12856         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12857         (gst_base_transform_event), (gst_base_transform_getrange),
12858         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12859         (gst_base_transform_set_property),
12860         (gst_base_transform_get_property),
12861         (gst_base_transform_sink_activate),
12862         (gst_base_transform_src_activate),
12863         (gst_base_transform_change_state):
12864         * gst/base/gstbasetransform.h:
12865         * gst/elements/gstidentity.c: (gst_identity_finalize),
12866         (gst_identity_class_init), (gst_identity_init),
12867         (gst_identity_event), (gst_identity_check_perfect),
12868         (gst_identity_transform), (gst_identity_set_property),
12869         (gst_identity_get_property), (gst_identity_change_state):
12870         * gst/elements/gstidentity.h:
12871         * gst/gstelement.c: (gst_element_get_state_func),
12872         (gst_element_lost_state), (gst_element_pads_activate):
12873         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12874         (gst_pad_check_pull_range), (gst_pad_pull_range):
12875         * gst/gstpad.h:
12876         Simplify pad activation.
12877         Added function to check if pull_range can be performed.
12878         Error out when pulling inactive or flushing pads.
12879         Removed const from refcounted types as it does not make sense.
12880         Simplify pad templates in basesink
12881         Added base class for simple 1-to-1 transforms.
12882         Make identity subclass the base transform.
12883
12884 2005-03-29  Andy Wingo  <wingo@pobox.com>
12885
12886         * docs/libs/gstreamer-libs-overrides.txt: 
12887         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12888         really don't understand what's going on, but like whatever. I want
12889         green buildbot!
12890
12891         * docs/gst/Makefile.am:
12892         * docs/libs/Makefile.am: Dist the overrides files.
12893
12894         * check/Makefile.am (clean-local): Remove .libs directories.
12895
12896         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12897         elements to EXTRA_DIST, so po/ files are happy.
12898
12899         * po/POTFILES.in: Er, remove it here.
12900
12901         * po/POTFILES: Remove gstspider.c.
12902
12903         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12904
12905         * docs/libs/gstreamer-libs-docs.sgml: 
12906         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12907         bytestream.
12908
12909         * tests/complexity.c (main): Set the length of the preroll queue
12910         on the sinks to prevent a lockup.
12911
12912         * libs/gst/dataprotocol/Makefile.am: 
12913         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12914         the same as the one in check/gst-libs/gdp.c.
12915
12916         * po/, docs/gst/: Commit automatic changes to docs and po files.
12917
12918         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12919         the versioned libgstbase.
12920
12921         * check/Makefile.am: Depend on an unversioned gst-register, seems
12922         to make autoconf happier.
12923
12924         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12925
12926 2005-03-28  Wim Taymans  <wim@fluendo.com>
12927
12928         * configure.ac:
12929         * docs/design/part-gstelement.txt:
12930         * docs/design/part-negotiation.txt:
12931         * docs/design/part-preroll.txt:
12932         * docs/design/part-scheduling.txt:
12933         * docs/design/part-states.txt:
12934         * gst/Makefile.am:
12935         * gst/base/Makefile.am:
12936         * gst/base/README:
12937         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12938         (gst_basesink_base_init), (gst_basesink_class_init),
12939         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12940         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12941         (gst_basesink_set_pad_functions),
12942         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12943         (gst_basesink_set_property), (gst_basesink_get_property),
12944         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12945         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12946         (gst_basesink_preroll_queue_push),
12947         (gst_basesink_preroll_queue_empty),
12948         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12949         (gst_basesink_event), (gst_basesink_get_times),
12950         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12951         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12952         (gst_basesink_loop), (gst_basesink_activate),
12953         (gst_basesink_change_state):
12954         * gst/base/gstbasesink.h:
12955         * gst/elements/Makefile.am:
12956         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12957         (gst_fakesink_class_init), (gst_fakesink_init),
12958         (gst_fakesink_set_property), (gst_fakesink_get_property),
12959         (gst_fakesink_get_times), (gst_fakesink_event),
12960         (gst_fakesink_preroll), (gst_fakesink_render),
12961         (gst_fakesink_change_state):
12962         * gst/elements/gstfakesink.h:
12963         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12964         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12965         * gst/gstelement.c: (gst_element_add_pad),
12966         (gst_element_get_state_func), (gst_element_abort_state),
12967         (gst_element_commit_state), (gst_element_lost_state),
12968         (gst_element_set_state), (gst_element_pads_activate):
12969         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12970         * gst/gstpipeline.c: (gst_pipeline_send_event),
12971         (gst_pipeline_change_state):
12972         Added state change code.
12973         Added/updated docs.
12974         Added sink base class, make fakesink extend the base class.
12975         Small cleanups in GstPipeline.
12976
12977 2005-03-26  David Schleef  <ds@schleef.org>
12978
12979         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12980         is broken and should be implemented in a different library.
12981         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12982         * gst/gst.h: remove gstcpu.h
12983         * gst/gstcpu.c: remove
12984         * gst/gstcpu.h: remove
12985         * gst/Makefile.am.future: Remove this file.  It's ancient.
12986
12987 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12988
12989         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12990         (gst_bin_send_event):
12991           Add default event/set_manager handlers. The set_manager handler
12992           takes care that the manager is distributed over kids that were
12993           already in the bin before the manager was set. The event handler
12994           is a utility virtual function that sends the event over all sinks,
12995           so that gst_element_send_event (bin, event); has the expected
12996           behaviour.
12997         * gst/gstpad.c: (gst_pad_event_default):
12998           Re-install default event handling for discontinuities, so that
12999           seeking works without requiring hacks in applications or extra
13000           code in sinks.
13001         * gst/gstpipeline.c: (gst_pipeline_class_init),
13002         (gst_pipeline_send_event):
13003           Half hack, half utility: set a pipeline to PAUSED for seek events,
13004           since that is the only way we can guarantee a/v sync. Means that
13005           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13006           and it "just works".
13007
13008 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13009
13010         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13011           Lock/unlock mismatch.
13012
13013 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13014
13015         * docs/faq/gst-uninstalled:
13016           add gst-plugins-base
13017         * docs/gst/Makefile.am:
13018           don't error out until docs are fixed
13019         * docs/gst/gstreamer.types:
13020           remove thread
13021
13022 2005-03-22  Wim Taymans  <wim@fluendo.com>
13023
13024         * check/Makefile.am:
13025         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13026         * gst/gststructure.c: (gst_structure_set_valist),
13027         (gst_structure_copy_conditional):
13028         Activated more tests.
13029         Added message test.
13030         Added G_TYPE_POINTER to GstStructure.
13031         
13032
13033 2005-03-22  Wim Taymans  <wim@fluendo.com>
13034
13035         * docs/design/part-TODO.txt:
13036         * docs/design/part-events.txt:
13037         * docs/design/part-gstbin.txt:
13038         * docs/design/part-gstbus.txt:
13039         * docs/design/part-gstpipeline.txt:
13040         * docs/design/part-messages.txt:
13041         * gst/gstbus.c:
13042         * gst/gstmessage.c:
13043         Docs updates
13044
13045 2005-03-21  Wim Taymans  <wim@fluendo.com>
13046
13047         * gst/gstbus.c: (gst_bus_post):
13048         Fix copy-and-paste error.
13049
13050 2005-03-21  Wim Taymans  <wim@fluendo.com>
13051
13052         * check/Makefile.am:
13053         * gst/Makefile.am:
13054         * gst/elements/Makefile.am:
13055         * gst/elements/gstelements.c:
13056         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13057         (gst_fakesink_event), (gst_fakesink_chain):
13058         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13059         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13060         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13061         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13062         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13063         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13064         (gst_fakesrc_loop), (gst_fakesrc_activate),
13065         (gst_fakesrc_change_state):
13066         * gst/elements/gstfakesrc.h:
13067         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13068         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13069         (gst_filesrc_open_file), (gst_filesrc_loop),
13070         (gst_filesrc_activate), (gst_filesrc_change_state),
13071         (filesrc_find_peek), (filesrc_find_suggest),
13072         (gst_filesrc_type_find):
13073         * gst/elements/gstidentity.c: (gst_identity_finalize),
13074         (gst_identity_class_init), (gst_identity_init),
13075         (gst_identity_proxy_getcaps), (identity_queue_push),
13076         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13077         (gst_identity_getrange), (gst_identity_chain),
13078         (gst_identity_sink_loop), (gst_identity_src_loop),
13079         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13080         (gst_identity_set_property), (gst_identity_get_property),
13081         (gst_identity_change_state):
13082         * gst/elements/gstidentity.h:
13083         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13084         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13085         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13086         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13087         (gst_tee_sink_activate):
13088         * gst/elements/gsttee.h:
13089         * gst/gst.c: (gst_register_core_elements), (init_post):
13090         * gst/gst.h:
13091         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13092         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13093         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13094         (gst_bin_change_state):
13095         * gst/gstbin.h:
13096         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13097         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13098         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13099         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13100         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13101         (bus_watch_callback), (bus_watch_destroy),
13102         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13103         (poll_timeout), (gst_bus_poll):
13104         * gst/gstbus.h:
13105         * gst/gstcaps.h:
13106         * gst/gstdata.h:
13107         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13108         (gst_element_post_message), (gst_element_message_full),
13109         (gst_element_get_state_func), (gst_element_get_state),
13110         (gst_element_abort_state), (gst_element_commit_state),
13111         (gst_element_lost_state), (gst_element_set_state),
13112         (gst_element_pads_activate), (gst_element_change_state),
13113         (gst_element_dispose), (gst_element_set_manager_func),
13114         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13115         (gst_element_set_manager), (gst_element_get_manager),
13116         (gst_element_set_bus), (gst_element_get_bus),
13117         (gst_element_set_scheduler), (gst_element_get_scheduler):
13118         * gst/gstelement.h:
13119         * gst/gstevent.c: (gst_event_new_segment_seek),
13120         (gst_event_new_flush):
13121         * gst/gstevent.h:
13122         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13123         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13124         (gst_message_new_eos), (gst_message_new_error),
13125         (gst_message_new_warning), (gst_message_new_tag),
13126         (gst_message_new_state_changed), (gst_message_new_application),
13127         (gst_message_get_structure), (gst_message_parse_tag),
13128         (gst_message_parse_state_changed), (gst_message_parse_error),
13129         (gst_message_parse_warning):
13130         * gst/gstmessage.h:
13131         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13132         (gst_real_pad_set_property), (gst_pad_set_active),
13133         (gst_pad_is_active), (gst_pad_set_blocked_async),
13134         (gst_pad_set_blocked), (gst_pad_is_blocked),
13135         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13136         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13137         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13138         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13139         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13140         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13141         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13142         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13143         (gst_pad_set_caps), (gst_pad_configure_sink),
13144         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13145         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13146         (gst_real_pad_dispose), (gst_real_pad_finalize),
13147         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13148         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13149         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13150         * gst/gstpad.h:
13151         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13152         (pipeline_bus_handler), (gst_pipeline_change_state),
13153         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13154         * gst/gstpipeline.h:
13155         * gst/gstprobe.h:
13156         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13157         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13158         (gst_queue_link_src), (gst_queue_bufferalloc),
13159         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13160         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13161         (gst_queue_loop), (gst_queue_handle_src_event),
13162         (gst_queue_handle_src_query), (gst_queue_src_activate),
13163         (gst_queue_change_state):
13164         * gst/gstqueue.h:
13165         * gst/gstscheduler.c: (gst_scheduler_init),
13166         (gst_scheduler_dispose), (gst_scheduler_create_task),
13167         (gst_scheduler_factory_create):
13168         * gst/gstscheduler.h:
13169         * gst/gststructure.c: (gst_structure_get_type),
13170         (gst_structure_copy_conditional):
13171         * gst/gststructure.h:
13172         * gst/gsttaginterface.h:
13173         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13174         (gst_task_init), (gst_task_dispose), (gst_task_create),
13175         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13176         (gst_task_pause):
13177         * gst/gsttask.h:
13178         * gst/gstthread.c:
13179         * gst/gstthread.h:
13180         * gst/gsttypes.h:
13181         * gst/schedulers/Makefile.am:
13182         * gst/schedulers/cothreads_compat.h:
13183         * gst/schedulers/entryscheduler.c:
13184         * gst/schedulers/faircothreads.c:
13185         * gst/schedulers/faircothreads.h:
13186         * gst/schedulers/fairscheduler.c:
13187         * gst/schedulers/gstbasicscheduler.c:
13188         * gst/schedulers/gstoptimalscheduler.c:
13189         * gst/schedulers/gthread-cothreads.h:
13190         * gst/schedulers/threadscheduler.c:
13191         (gst_thread_scheduler_task_get_type),
13192         (gst_thread_scheduler_task_class_init),
13193         (gst_thread_scheduler_task_init),
13194         (gst_thread_scheduler_task_start),
13195         (gst_thread_scheduler_task_stop),
13196         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13197         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13198         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13199         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13200         (plugin_init):
13201         * libs/gst/Makefile.am:
13202         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13203         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13204         (gst_file_pad_parent_set):
13205         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13206         (gst_dp_event_from_packet):
13207         * tests/complexity.c: (main):
13208         * tests/mass_elements.c: (main):
13209         * testsuite/states/locked.c: (message_received), (main):
13210         * testsuite/states/parent.c: (main):
13211         * tools/gst-inspect.c: (print_element_flag_info),
13212         (print_implementation_info), (print_pad_info):
13213         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13214         (main):
13215         * tools/gst-md5sum.c: (event_loop), (main):
13216         * tools/gst-typefind.c: (main):
13217         * tools/gst-xmlinspect.c: (print_element_info):
13218         Next big merge.
13219         Added GstBus for mainloop integration.
13220         Added GstMessage for sending notifications on the bus.
13221         Added GstTask as an abstraction for pipeline entry points.
13222         Removed GstThread.
13223         Removed Schedulers.
13224         Simplified GstQueue for multithreaded core.
13225         Made _link threadsafe, removed old capsnego.
13226         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13227         Added pad blocking functions.
13228         Reworked scheduling functions in GstPad to prepare for
13229         scheduling updates soon.
13230         Moved events out of data stream.
13231         Simplified GstEvent types.
13232         Added return values to push/pull.
13233         Removed clocking from GstElement.
13234         Added prototypes for state change function for next merge.
13235         Removed iterate from bins and state change management.
13236         Fixed some elements, disabled others for now.
13237         Fixed -inspect and -launch.
13238         Added check for GstBus.
13239
13240 2005-03-10  Wim Taymans  <wim@fluendo.com>
13241
13242         * docs/design/part-MT-refcounting.txt:
13243         * docs/design/part-clocks.txt:
13244         * docs/design/part-gstelement.txt:
13245         * docs/design/part-gstobject.txt:
13246         * docs/design/part-standards.txt:
13247         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13248         (gst_bin_remove_func), (gst_bin_remove):
13249         * gst/gstbin.h:
13250         * gst/gstbuffer.c:
13251         * gst/gstcaps.h:
13252         * testsuite/clock/clock1.c: (main):
13253         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13254         (main):
13255         * testsuite/dlopen/loadgst.c: (do_test):
13256         * testsuite/refcounting/bin.c: (add_remove_test1),
13257         (add_remove_test2), (main):
13258         * testsuite/refcounting/element.c: (main):
13259         * testsuite/refcounting/element_pad.c: (main):
13260         * testsuite/refcounting/pad.c: (main):
13261         * tools/gst-launch.c: (sigint_handler_sighandler):
13262         * tools/gst-typefind.c: (main):
13263         Doc updates.
13264         Added doc about clock.
13265         removed gst_bin_iterate_recurse_up(), marked methods
13266         for removal.
13267         Fix more testsuites.
13268
13269 2005-03-09  Wim Taymans  <wim@fluendo.com>
13270
13271         * gst/gstpad.c: (gst_pad_get_direction),
13272         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13273         (gst_pad_collect_valist):
13274         * testsuite/bins/interface.c: (main):
13275         * testsuite/caps/audioscale.c: (test_caps):
13276         * testsuite/caps/caps.c: (test1), (test2), (test3):
13277         * testsuite/caps/deserialize.c: (main):
13278         * testsuite/caps/enumcaps.c: (main):
13279         * testsuite/caps/filtercaps.c: (main):
13280         * testsuite/caps/intersect2.c: (main):
13281         * testsuite/caps/random.c: (main):
13282         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13283         * testsuite/caps/sets.c: (check_caps):
13284         * testsuite/caps/simplify.c: (check_caps), (main):
13285         * testsuite/caps/subtract.c: (check_caps):
13286         Fix _pad_get_direction wrt ghostpads.
13287         Fix caps testsuite.
13288
13289 2005-03-09  Wim Taymans  <wim@fluendo.com>
13290
13291         * check/Makefile.am:
13292         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13293         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13294         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13295         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13296         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13297         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13298         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13299         (bin_element_is_sink), (gst_bin_iterate_sinks),
13300         (gst_bin_iterate_all_by_interface):
13301         * gst/gstbin.h:
13302         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13303         (gst_element_change_state), (gst_element_dispose),
13304         (gst_element_finalize), (gst_element_set_loop_function):
13305         * gst/gstelement.h:
13306         * gst/gstiterator.c: (find_custom_fold_func):
13307         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13308         (gst_pad_collectv), (gst_pad_collect_valist),
13309         (gst_pad_template_new):
13310         * gst/gstpipeline.c: (gst_pipeline_class_init),
13311         (gst_pipeline_dispose), (gst_pipeline_set_property),
13312         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13313         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13314         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13315         * gst/gstutils.h:
13316         * gst/schedulers/entryscheduler.c:
13317         * gst/schedulers/gstbasicscheduler.c:
13318         (gst_basic_scheduler_cothreaded_chain),
13319         (gst_basic_scheduler_chain_add_element):
13320         * testsuite/bins/interface.c: (main):
13321         Added GstBin test.
13322         Added GstSystemClock test.
13323         Implemented clock distribution code in GstBin.
13324         Implemented iterate sinks method for future use.
13325         Rearranged gstelement.h
13326         Fix GstIterator comparison bug.
13327         Moved some code to GstPipeline, mostly clocking related.
13328
13329 2005-03-09  Wim Taymans  <wim@fluendo.com>
13330
13331         * configure.ac:
13332         * gst/gst_private.h:
13333         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13334         (gst_bin_remove_func), (gst_bin_remove),
13335         (gst_bin_get_by_name_recurse_up):
13336         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13337         (gst_clock_id_compare_func), (gst_clock_id_wait),
13338         (gst_clock_id_wait_async), (gst_clock_init),
13339         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13340         * gst/gstelement.h:
13341         * gst/gstinfo.c: (_gst_debug_init):
13342         * gst/gstobject.h:
13343         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13344         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13345         * gst/gstpad.h:
13346         Bump version number, we're now 0.9.0
13347         Add future debugging category.
13348         Fix NULL _unref() in _get_by_name_recurse_up
13349         Rearrange gstpad.h.
13350         Update some docs.
13351
13352 2005-03-08  Wim Taymans  <wim@fluendo.com>
13353
13354         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13355         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13356         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13357         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13358         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13359         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13360         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13361         * gst/elements/gstidentity.c: (gst_identity_class_init):
13362         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13363         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13364         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13365         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13366         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13367         (gst_tee_link):
13368         * gst/gstelement.c: (gst_element_class_init),
13369         (gst_element_base_class_init), (gst_element_init),
13370         (gst_element_get_random_pad), (gst_element_wait_state_change),
13371         (gst_element_change_state), (gst_element_dispose),
13372         (gst_element_finalize), (gst_element_set_loop_function):
13373         * gst/gstelement.h:
13374         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13375         * gst/gstthread.c: (gst_thread_class_init),
13376         (gst_thread_release_children_locks), (gst_thread_change_state):
13377         * gst/schedulers/gstbasicscheduler.c:
13378         (gst_basic_scheduler_loopfunc_wrapper),
13379         (gst_basic_scheduler_chain_wrapper),
13380         (gst_basic_scheduler_src_wrapper),
13381         (gst_basic_scheduler_remove_element):
13382         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13383         Remove threadsafe properties. Fix elements because GObject
13384         complains when installing a property before declaring a
13385         set/get_property handler.
13386         Rearrange gstelement.h file, use STATE macros for state locks.
13387         Free mutexes in the finalize method instead of dispose.
13388
13389 2005-03-08  Wim Taymans  <wim@fluendo.com>
13390
13391         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13392         * gst/gstthread.c: (gst_thread_release_children_locks):
13393         Added parentage check.
13394         Fix build og GstThread again.
13395
13396 2005-03-08  Wim Taymans  <wim@fluendo.com>
13397
13398         * docs/design/part-MT-refcounting.txt:
13399         * docs/design/part-conventions.txt:
13400         * docs/design/part-gstobject.txt:
13401         * docs/design/part-relations.txt:
13402         * docs/design/part-standards.txt:
13403         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13404         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13405         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13406         (gst_bin_iterate_all_by_interface):
13407         * gst/gstbuffer.h:
13408         * gst/gstclock.h:
13409         * gst/gstelement.c: (gst_element_class_init),
13410         (gst_element_change_state), (gst_element_set_loop_function):
13411         * gst/gstelement.h:
13412         * gst/gstiterator.c:
13413         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13414         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13415         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13416         (gst_object_set_parent), (gst_object_unparent),
13417         (gst_object_check_uniqueness):
13418         * gst/gstobject.h:
13419         Docs updates, clean up some headers.
13420
13421 2005-03-07  Wim Taymans  <wim@fluendo.com>
13422
13423         * check/.cvsignore:
13424         * check/Makefile.am:
13425         * check/gst-libs/.cvsignore:
13426         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13427         * check/gst/.cvsignore:
13428         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13429         (START_TEST), (gstbus_suite), (main):
13430         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13431         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13432         (gst_data_suite), (main):
13433         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13434         (add_fold_func), (gstiterator_suite), (main):
13435         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13436         (thread_name_object), (thread_name_object_default),
13437         (gst_object_name_compare), (gst_object_suite), (main):
13438         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13439         (gst_pad_suite), (main):
13440         * check/gstcheck.c: (gst_check_log_message_func),
13441         (gst_check_log_critical_func), (gst_check_init):
13442         * check/gstcheck.h:
13443         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13444         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13445         Added checks.
13446
13447 2005-03-07  Wim Taymans  <wim@fluendo.com>
13448
13449         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13450         (gst_list_iterator_next), (gst_list_iterator_resync),
13451         (gst_list_iterator_free), (gst_iterator_new_list),
13452         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13453         (gst_iterator_free), (gst_iterator_push), (filter_next),
13454         (filter_resync), (filter_uninit), (filter_free),
13455         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13456         (gst_iterator_foreach), (find_custom_fold_func),
13457         (gst_iterator_find_custom):
13458         * gst/gstiterator.h:
13459         Added missing files.
13460
13461 2005-03-07  Wim Taymans  <wim@fluendo.com>
13462
13463         * Makefile.am:
13464         * configure.ac:
13465         * docs/design/part-MT-refcounting.txt:
13466         * docs/design/part-conventions.txt:
13467         * docs/design/part-gstobject.txt:
13468         * docs/design/part-relations.txt:
13469         * examples/mixer/mixer.c: (main):
13470         * examples/thread/thread.c: (eos), (main):
13471         * gst/Makefile.am:
13472         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13473         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13474         (gst_spider_plug_from_srcpad):
13475         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13476         (gst_spider_identity_change_state),
13477         (gst_spider_identity_sink_loop_type_finding):
13478         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13479         * gst/elements/gstidentity.c: (gst_identity_init):
13480         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13481         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13482         * gst/elements/gsttypefindelement.c: (free_entry):
13483         * gst/gst.c:
13484         * gst/gst.h:
13485         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13486         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13487         (gst_bin_set_index), (gst_bin_set_element_sched),
13488         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13489         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13490         (gst_bin_iterate_elements), (iterate_child_recurse),
13491         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13492         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13493         (compare_interface), (gst_bin_get_by_interface),
13494         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13495         * gst/gstbin.h:
13496         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13497         (gst_buffer_default_free), (gst_buffer_default_copy),
13498         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13499         (gst_buffer_create_sub):
13500         * gst/gstbuffer.h:
13501         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13502         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13503         (gst_caps_unref), (gst_static_caps_get),
13504         (gst_caps_remove_and_get_structure), (gst_caps_append),
13505         (gst_caps_append_structure), (gst_caps_remove_structure),
13506         (gst_caps_copy_nth), (gst_caps_set_simple),
13507         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13508         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13509         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13510         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13511         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13512         (gst_caps_structure_figure_out_union),
13513         (gst_caps_switch_structures), (gst_caps_do_simplify),
13514         (gst_caps_replace), (gst_caps_from_string),
13515         (gst_caps_copy_conditional):
13516         * gst/gstcaps.h:
13517         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13518         (_gst_clock_id_free), (gst_clock_id_unref),
13519         (gst_clock_id_compare_func), (gst_clock_id_wait),
13520         (gst_clock_id_wait_async), (gst_clock_class_init),
13521         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13522         (gst_clock_get_time), (gst_clock_set_time_adjust),
13523         (gst_clock_set_property), (gst_clock_get_property):
13524         * gst/gstclock.h:
13525         * gst/gstcompat.h:
13526         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13527         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13528         * gst/gstdata.h:
13529         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13530         (gst_element_requires_clock), (gst_element_provides_clock),
13531         (gst_element_set_clock), (gst_element_clock_wait),
13532         (gst_element_wait), (gst_element_set_time_delay),
13533         (gst_element_is_indexable), (gst_element_add_pad),
13534         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13535         (pad_compare_name), (gst_element_get_static_pad),
13536         (gst_element_request_pad), (gst_element_get_request_pad),
13537         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13538         (gst_element_class_get_pad_template_list),
13539         (gst_element_class_get_pad_template), (gst_element_error_func),
13540         (gst_element_get_random_pad), (gst_element_get_event_masks),
13541         (gst_element_send_event), (gst_element_seek),
13542         (gst_element_get_query_types), (gst_element_query),
13543         (gst_element_get_formats), (gst_element_convert),
13544         (gst_element_is_locked_state), (gst_element_set_locked_state),
13545         (gst_element_sync_state_with_parent), (gst_element_change_state),
13546         (gst_element_finalize), (gst_element_yield),
13547         (gst_element_interrupt), (gst_element_set_scheduler),
13548         (gst_element_get_scheduler), (gst_element_set_loop_function):
13549         * gst/gstelement.h:
13550         * gst/gstevent.h:
13551         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13552         (gst_format_get_by_nick), (gst_format_get_details),
13553         (gst_format_iterate_definitions):
13554         * gst/gstformat.h:
13555         * gst/gstindex.c: (gst_index_gtype_resolver):
13556         * gst/gstinfo.c:
13557         * gst/gstinfo.h:
13558         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13559         (gst_mem_chunk_free):
13560         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13561         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13562         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13563         (gst_object_dispatch_properties_changed),
13564         (gst_object_set_name_default), (gst_object_set_name),
13565         (gst_object_get_name), (gst_object_set_name_prefix),
13566         (gst_object_get_name_prefix), (gst_object_set_parent),
13567         (gst_object_get_parent), (gst_object_unparent),
13568         (gst_object_check_uniqueness), (gst_object_save_thyself),
13569         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13570         (gst_object_set_property), (gst_object_get_property),
13571         (gst_object_get_path_string):
13572         * gst/gstobject.h:
13573         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13574         (gst_real_pad_init), (gst_real_pad_get_property),
13575         (gst_pad_custom_new), (gst_pad_get_direction),
13576         (gst_pad_set_active), (gst_pad_is_active),
13577         (gst_pad_set_event_function), (gst_pad_is_linked),
13578         (gst_pad_link_free), (gst_pad_link_intersect),
13579         (gst_pad_link_fixate), (gst_pad_set_caps),
13580         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13581         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13582         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13583         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13584         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13585         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13586         (gst_pad_realize), (gst_pad_get_allowed_caps),
13587         (gst_real_pad_dispose), (gst_real_pad_finalize),
13588         (gst_pad_collectv), (gst_pad_collect_valist),
13589         (gst_pad_template_dispose), (gst_pad_template_new),
13590         (gst_pad_get_internal_links):
13591         * gst/gstpad.h:
13592         * gst/gstpipeline.c: (gst_pipeline_dispose),
13593         (gst_pipeline_change_state):
13594         * gst/gstpipeline.h:
13595         * gst/gstplugin.c:
13596         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13597         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13598         * gst/gstpluginfeature.h:
13599         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13600         * gst/gstquery.c: (_gst_query_type_initialize),
13601         (gst_query_type_register), (gst_query_type_get_by_nick),
13602         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13603         * gst/gstquery.h:
13604         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13605         * gst/gstscheduler.c: (gst_scheduler_add_element),
13606         (gst_scheduler_factory_create):
13607         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13608         (gst_structure_free), (gst_structure_set_name),
13609         (gst_structure_id_set_value), (gst_structure_set_value),
13610         (gst_structure_set_valist), (gst_structure_remove_field),
13611         (gst_structure_remove_fields),
13612         (gst_structure_remove_fields_valist),
13613         (gst_structure_remove_all_fields), (gst_structure_foreach),
13614         (gst_structure_map_in_place),
13615         (gst_caps_structure_fixate_field_nearest_int),
13616         (gst_caps_structure_fixate_field_nearest_double):
13617         * gst/gststructure.h:
13618         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13619         (gst_system_clock_init), (gst_system_clock_dispose),
13620         (gst_system_clock_async_thread),
13621         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13622         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13623         * gst/gstsystemclock.h:
13624         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13625         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13626         * gst/gsttaginterface.c:
13627         * gst/gstthread.c: (gst_thread_dispose),
13628         (gst_thread_release_children_locks), (gst_thread_change_state),
13629         (gst_thread_main_loop):
13630         * gst/gsttrashstack.h:
13631         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13632         * gst/gsttypes.h:
13633         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13634         (gst_element_request_pad), (gst_element_get_pad_from_template),
13635         (gst_element_request_compatible_pad),
13636         (gst_element_get_compatible_pad_filtered),
13637         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13638         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13639         (gst_element_link_many), (gst_element_link),
13640         (gst_element_link_pads), (gst_element_unlink_pads),
13641         (gst_element_unlink_many), (gst_element_unlink),
13642         (gst_pad_can_link_filtered), (gst_pad_can_link),
13643         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13644         (gst_object_default_error), (gst_bin_add_many),
13645         (gst_bin_remove_many), (gst_element_populate_std_props),
13646         (gst_element_class_install_std_props), (gst_buffer_merge),
13647         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13648         (link_fold_func), (gst_pad_proxy_setcaps):
13649         * gst/gstutils.h:
13650         * gst/gstvalue.c: (gst_value_deserialize_string):
13651         * gst/parse/grammar.y:
13652         * gst/schedulers/gstbasicscheduler.c:
13653         (gst_basic_scheduler_cothreaded_chain),
13654         (gst_basic_scheduler_chain_recursive_add),
13655         (gst_basic_scheduler_pad_link):
13656         * gst/schedulers/gstoptimalscheduler.c:
13657         (get_group_schedule_function),
13658         (gst_opt_scheduler_state_transition),
13659         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13660         * libs/gst/bytestream/bytestream.c:
13661         * libs/gst/dataprotocol/dataprotocol.c:
13662         (gst_dp_header_from_buffer):
13663         * po/nb.po:
13664         * po/ru.po:
13665         * tests/threadstate/threadstate2.c: (eos):
13666         * tools/gst-compprep.c: (main):
13667         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13668         (print_pad_info), (print_children_info):
13669         * tools/gst-launch.c: (idle_func), (main):
13670         * tools/gst-md5sum.c: (idle_func), (main):
13671         * tools/gst-xmlinspect.c: (print_element_info):
13672         First THREADED backport attempt, focusing on adding locks and
13673         making sure the API is threadsafe. Needs more work. More docs
13674         follow this week.
13675
13676 2005-02-24  Andy Wingo  <wingo@pobox.com>
13677
13678         * tests/bench-complexity.scm:
13679         * tests/complexity.gnuplot: New files, good for running complexity
13680         benchmarks.
13681
13682         * tests/Makefile.am:
13683         * tests/complexity.c: New test, sets up N elements, at each level
13684         teeing into M streams per element. Eeeenteresting.
13685
13686         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13687         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13688         running bench-mass_elements.scm.
13689
13690         * tests/bench-mass_elements.scm: New script, runs mass_elements
13691         for various numbers of identities, outputting the results to a
13692         file. Requires guile 1.6. Just for testing.
13693
13694 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13695
13696         * gst/schedulers/fairscheduler.c:
13697           compile with debug disabled
13698
13699 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13700
13701         * configure.ac:
13702           hunting season on 0.9 is now OPEN