check for process.h, declares getpid() on Windows
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * configure.ac:
4         * win32/common/config.h:
5         * win32/common/config.h.in:
6           check for process.h, declares getpid() on Windows
7         * gst/gstinfo.c:
8           include process.h if we have it
9         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10         * gst/gstmemchunk.h:
11           fix signedness issues
12         * win32/common/libgstreamer.def:
13           fix get_type's
14
15 2005-10-16  Julien MOUTTE  <julien@moutte.net>
16
17         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
18         fix. Because of unsigned ints, caps intersection was going nuts and
19         trying to access structures with G_MAXUINT index. That fixes
20         videotestsrc ! ffmpegcolorspace ! fakesink
21         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22         consistency.
23
24 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25
26         * configure.ac:
27           use the gettext macro
28         * gst/elements/gstelements.c:
29         * gst/gst.c:
30         * gst/indexers/gstindexers.c:
31           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
32         * win32/common/config.h:
33           updated config.h
34         * win32/common/config.h.in:
35           add the template to generate config.h
36         * win32/common/gstenumtypes.c:
37         * win32/common/gstversion.h:
38           updated copies
39
40 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
41
42         * gst/gst.c: (gst_version):
43         * gst/gstversion.h.in:
44           add the nano
45
46 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
47
48         * gst/gstevent.h:
49           Oops, add missing closing bracket.
50
51 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
52
53         * configure.ac:
54           use common m4's for argument checking
55
56 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
57
58         * docs/gst/gstreamer-sections.txt:
59         * gst/gstevent.h:
60           Add GST_EVENT_TYPE_NAME() macro.
61
62 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
63
64         * gst/gstinfo.c:
65         * gst/gstpluginfeature.c:
66         * gst/gsttask.c:
67           privatize more symbols
68
69 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
70
71         * configure.ac:
72           add srcdir, builddir includes to GST_ALL_CFLAGS, since
73           everything that uses GStreamer API should have the includes
74
75 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
76
77         * docs/gst/gstreamer-sections.txt:
78         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
79         * gst/gstvalue.h:
80           give each value a _get_type, removes the DATA exports
81
82 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
83
84         * gst/gst.c:
85         * gst/gst.h:
86           remove _gst_registry_auto_load, not used anymore
87         * gst/gstbin.c: (gst_bin_get_type):
88         * gst/gstbin.h:
89         * gst/gstelement.c: (gst_element_get_type):
90         * gst/gstelement.h:
91         * gst/gstobject.c: (gst_object_get_type):
92         * gst/gstobject.h:
93         * gst/gstpad.c: (gst_pad_get_type):
94         * gst/gstpad.h:
95           make _get_type functions similar, fixes data export from library
96
97 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
98
99         * configure.ac:
100           correctly make conditionals
101         * gst/elements/Makefile.am:
102         * gst/elements/gstelements.c:
103           fix typo causing fdsrc not to build
104
105 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
106
107         * testsuite/Makefile.am:
108         * testsuite/bytestream/.cvsignore:
109         * testsuite/bytestream/Makefile.am:
110         * testsuite/bytestream/filepadsink.c:
111         * testsuite/bytestream/gstbstest.c:
112         * testsuite/bytestream/test1.c:
113         * testsuite/bytestream/testfile1:
114         * testsuite/caps/normalisation.c:
115         * testsuite/caps/random.c: (main):
116         * testsuite/cleanup/.cvsignore:
117         * testsuite/cleanup/Makefile.am:
118         * testsuite/cleanup/cleanup1.c:
119         * testsuite/cleanup/cleanup2.c:
120         * testsuite/cleanup/cleanup3.c:
121         * testsuite/cleanup/cleanup4.c:
122         * testsuite/cleanup/cleanup5.c:
123         * testsuite/controller/interpolator.c:
124         * testsuite/debug/printf_extension.c: (main):
125         * testsuite/elements/tee.c:
126         * testsuite/negotiation/.cvsignore:
127         * testsuite/negotiation/Makefile.am:
128         * testsuite/negotiation/pad_link.c:
129         * testsuite/pad/Makefile.am:
130         * testsuite/pad/chainnopull.c:
131         * testsuite/pad/getnopush.c:
132         * testsuite/pad/link.c:
133         * testsuite/refcounting/sched.c: (create_pipeline):
134         * testsuite/registry/Makefile.am:
135         * testsuite/registry/gst-print-formats.c:
136         * testsuite/schedulers/.cvsignore:
137         * testsuite/schedulers/142183-2.c:
138         * testsuite/schedulers/142183.c:
139         * testsuite/schedulers/143777-2.c:
140         * testsuite/schedulers/143777.c:
141         * testsuite/schedulers/147713.c:
142         * testsuite/schedulers/147819.c:
143         * testsuite/schedulers/147894-2.c:
144         * testsuite/schedulers/147894.c:
145         * testsuite/schedulers/Makefile.am:
146         * testsuite/schedulers/group_link.c:
147         * testsuite/schedulers/queue_link.c:
148         * testsuite/schedulers/relink.c:
149         * testsuite/schedulers/unlink.c:
150         * testsuite/schedulers/unref.c:
151         * testsuite/schedulers/useless_iteration.c:
152         * testsuite/states/bin.c:
153           clean out/remove some stuff from the testsuite directories
154
155 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
156
157         * configure.ac:
158           check for some headers
159         * gst/elements/Makefile.am:
160         * gst/elements/gstelements.c:
161           don't compile fdsrc without sys/socket.h
162         * gst/indexers/Makefile.am:
163         * gst/indexers/gstindexers.c: (plugin_init):
164           don't compile fileindex without mmap
165
166 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
167
168         * configure.ac:
169           reorganize
170           clean up
171           document more
172           remove cruft
173         * check/Makefile.am:
174         * docs/gst/Makefile.am:
175         * examples/helloworld/Makefile.am:
176         * gst/Makefile.am:
177         * gst/base/Makefile.am:
178         * gst/check/Makefile.am:
179         * gst/elements/Makefile.am:
180         * gst/indexers/Makefile.am:
181         * gst/parse/Makefile.am:
182         * libs/gst/controller/Makefile.am:
183         * libs/gst/dataprotocol/Makefile.am:
184         * examples/helloworld/helloworld.c: (event_loop):
185           compile fixes, though it's not being compiled currently
186
187 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
190           Add some simple tests for the new taglist date API.
191
192 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
193
194         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
195         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
196           Beautify 'last-message' output: print 'none' for buffer timestamps
197           and durations if none is set; improve alignment with next messages.
198
199 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
200
201         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
202         * gst/gstpluginfeature.h:
203         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
204         * gst/gstregistry.h:
205         * docs/gst/gstreamer-sections.txt:
206           Add new API to check plugin feature version requirements.
207
208         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
209           Some basic tests for the above.         
210
211 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
212
213         * gst/gststructure.c: (gst_structure_to_string):
214           guard against NULL printf - happens when for example
215           a message structure with GstClock gets serialized
216
217 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
218
219         * gst/base/gstcollectpads.c: (gst_collectpads_event):
220           Fix presumable copy'n'pasto.
221
222 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
223
224         * gst/elements/gstfakesrc.h:
225         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
226         * gst/elements/gsttypefindelement.c:
227           fix some signedness
228         * gst/elements/gstfilesink.c: (gst_file_sink_render):
229           I wonder if this could actually write +2GB files before
230
231 2005-10-13  Andy Wingo  <wingo@pobox.com>
232
233         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
234         Fix Timmeke Waymans bug.
235         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
236         string of the proper length to gst_caps_from_string. There's a
237         potential for, before this fix, that this could cause someone
238         connecting over the network to cause a segfault if the payload is
239         not NUL-terminated.
240
241 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
242
243         * docs/design/draft-push-pull.txt:
244         * docs/design/part-overview.txt:
245         * docs/random/TODO-pre-0.9:
246         * docs/random/old/ChangeLog.gstreamer:
247         * gst/base/gstpushsrc.c:
248         * gst/gstclock.c:
249           fixed typos
250
251 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
252
253         * gst/glib-compat.c: (gst_flags_get_first_value):
254         * gst/glib-compat.h:
255         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
256         (gst_value_compare_double), (gst_value_serialize_flags):
257           GLib 2.6 g_flags_get_first_value has a bug that triggers an
258           infinite loop
259
260 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
261
262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
263         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
264           fix up debugging
265         * tools/gst-launch.c: (event_loop):
266           print out clock nicely
267
268 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
269
270         * docs/gst/gstreamer-sections.txt:
271         * gst/gsttaglist.h:
272         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
273         (gst_tag_list_get_date_index):
274           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
275           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
276
277 2005-10-13  Julien MOUTTE  <julien@moutte.net>
278
279         * gst/base/gstcollectpads.c: (gst_collectpads_event),
280         (gst_collectpads_chain):
281         * gst/base/gstcollectpads.h: Handle newsegment and store informations
282         in CollectData.
283
284 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
285
286         * docs/gst/gstreamer-sections.txt:
287         * gst/gst.c:
288         * gst/gsterror.h:
289         * tools/gst-inspect.c: (main):
290         * tools/gst-launch.c: (main):
291         * tools/gst-run.c: (main):
292         * tools/gst-xmlinspect.c: (main):
293           fix GOption context leaks
294           doc fixes
295
296 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
297
298         * gst/gstbus.c:
299           use HAVE_UNISTD_H
300         * win32/common/config.h:
301           update config
302         * win32/vs6/grammar.dsp:
303         * win32/vs6/libgstelements.dsp:
304         * win32/vs6/libgstreamer.dsp:
305           update vs6 files
306
307 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
308
309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
310         * gst/base/gstbasesrc.c: (gst_base_src_query):
311           fix more guint64<->gdouble conversions
312
313 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
314
315         * Makefile.am:
316           add win32-update target
317         * win32/common/gstconfig.h:
318         * win32/common/gstenumtypes.c:
319         * win32/common/gstenumtypes.h:
320         * win32/common/gstversion.h:
321           add files that visual studio can't generate
322
323 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
324
325         * Makefile.am:
326           add a win32-update target
327         * configure.ac:
328
329 2005-10-12  Wim Taymans  <wim@fluendo.com>
330
331         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
332         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
333         * gst/gstelement.c: (gst_element_commit_state),
334         (gst_element_set_state):
335         Protect flags with proper lock.
336         unref provided cached clock in dispose.
337
338 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
339
340         * gst/gst.c:
341         * gst/gstminiobject.h:
342         * gst/gstpad.h:
343         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
344           removed unused flags from miniobject
345           doc fixes
346
347 2005-10-12  Wim Taymans  <wim@fluendo.com>
348
349         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
350         (gst_file_sink_event), (gst_file_sink_render):
351         Flush before seeking.
352
353 2005-10-12  Andy Wingo  <wingo@pobox.com>
354
355         * gst/gst.c (gst_init_check): Ignore unknown options, as has
356         always been the case.
357
358 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
359
360         * check/gst/gstbin.c: (GST_START_TEST):
361         * docs/gst/gstreamer-sections.txt:
362         * gst/base/gstbasesink.c: (gst_base_sink_init):
363         * gst/base/gstbasesrc.c: (gst_base_src_init),
364         (gst_base_src_get_range), (gst_base_src_check_get_range),
365         (gst_base_src_start), (gst_base_src_stop):
366         * gst/base/gstbasesrc.h:
367         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
368         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
369         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
370         (bin_bus_handler):
371         * gst/gstbin.h:
372         * gst/gstbuffer.h:
373         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
374         * gst/gstbus.h:
375         * gst/gstelement.c: (gst_element_is_locked_state),
376         (gst_element_set_locked_state), (gst_element_commit_state),
377         (gst_element_set_state):
378         * gst/gstelement.h:
379         * gst/gstindex.c: (gst_index_init):
380         * gst/gstindex.h:
381         * gst/gstminiobject.h:
382         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
383         (gst_object_set_parent):
384         * gst/gstobject.h:
385         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
386         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
387         * gst/gstpad.h:
388         * gst/gstpadtemplate.h:
389         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
390         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
391         * gst/gstpipeline.h:
392         * gst/indexers/gstfileindex.c: (gst_file_index_load),
393         (gst_file_index_commit):
394         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
395         * testsuite/pad/link.c: (gst_test_src_init),
396         (gst_test_filter_init), (gst_test_sink_init):
397         * testsuite/states/locked.c: (main):
398           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
399           moved bitshift from macro to enum definition
400
401 2005-10-12  Wim Taymans  <wim@fluendo.com>
402
403         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
404         * gst/elements/gstfilesink.c: (gst_file_sink_event),
405         (gst_file_sink_render):
406         Some more debugging info.
407
408 2005-10-12  Wim Taymans  <wim@fluendo.com>
409
410         * docs/design/part-states.txt:
411         * tools/gst-launch.c: (main):
412         Some doc updates.
413         Revert non-intentional change.
414
415 2005-10-12  Wim Taymans  <wim@fluendo.com>
416
417         * check/gst/gstbin.c: (GST_START_TEST):
418         * check/gst/gstelement.c: (GST_START_TEST):
419         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
420         * check/gst/gstghostpad.c: (GST_START_TEST):
421         * check/gst/gstpipeline.c: (GST_START_TEST):
422         * check/pipelines/simple_launch_lines.c: (run_pipeline):
423         * check/states/sinks.c: (GST_START_TEST):
424         * gst/elements/gsttypefindelement.c: (stop_typefinding):
425         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
426         (gst_bin_remove_func), (gst_bin_get_state_func),
427         (gst_bin_recalc_state), (gst_bin_change_state_func),
428         (bin_bus_handler):
429         * gst/gstelement.c: (gst_element_get_state_func),
430         (gst_element_get_state), (gst_element_abort_state),
431         (gst_element_commit_state), (gst_element_set_state),
432         (gst_element_change_state), (gst_element_change_state_func):
433         * gst/gstelement.h:
434         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
435         (gst_pipeline_provide_clock_func):
436         * gst/gstutils.c: (gst_element_link_pads_filtered):
437         * tools/gst-launch.c: (main):
438         * tools/gst-typefind.c: (main):
439         Use GstClockTime in _get_state() instead of GTimeVal.
440         Remove old code in gstutils.c
441
442 2005-10-12  Andy Wingo  <wingo@pobox.com>
443
444         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
445         removed.
446
447         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
448         there is no task. Shouldn't affect any code, as nothing in our
449         plugins checks this return value.
450         (gst_pad_stop_task): Also take the stream lock if the pad has no
451         task. Docs updated.
452
453 2005-10-12  Wim Taymans  <wim@fluendo.com>
454
455         * gst/gstpad.c: (pre_activate), (post_activate),
456         (gst_pad_activate_pull), (gst_pad_activate_push):
457         Cleanup activation code. Reset old state if
458         activation failed.
459
460 2005-10-12  Wim Taymans  <wim@fluendo.com>
461
462         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
463         (gst_base_sink_change_state):
464         No need to prerol after receiving EOS.
465
466         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
467         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
468         * gst/elements/gstidentity.c: (gst_identity_event):
469         Print events more verbosely.
470
471 2005-10-12  Wim Taymans  <wim@fluendo.com>
472
473         * check/Makefile.am:
474         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
475         * check/states/sinks2.c:
476         Moved sinks2 testcode in sinks check.
477
478         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
479         (gst_bin_remove_func), (gst_bin_recalc_state),
480         (gst_bin_change_state_func), (bin_bus_handler):
481         Fix potential race condition when _get_state() iterated over an
482         ASYNC element right before it posted a state completion.
483
484         * gst/gstclock.h:
485         Do proper cast here.
486
487         * gst/gstevent.c: (gst_event_new_newsegment),
488         (gst_event_parse_newsegment):
489         A playback rate of 0.0 is not allowed.
490
491 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
492
493         * win32/common/config.h:
494         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
495         (_trewinddir), (_ttelldir), (_tseekdir):
496         * win32/common/dirent.h:
497         * win32/common/gtchar.h:
498         * win32/common/libgstbase.def:
499         * win32/common/libgstreamer.def:
500         * win32/vs6/grammar.dsp:
501         * win32/vs6/gst_inspect.dsp:
502         * win32/vs6/gst_launch.dsp:
503         * win32/vs6/gstreamer.dsw:
504         * win32/vs6/libgstbase.dsp:
505         * win32/vs6/libgstelements.dsp:
506         * win32/vs6/libgstreamer.dsp:
507           Visual Studio 6 project files, and a new common directory.
508           Phear.
509
510 2005-10-11  Wim Taymans  <wim@fluendo.com>
511
512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
513         (gst_base_sink_do_sync), (gst_base_sink_query),
514         (gst_base_sink_change_state):
515         * gst/base/gstbasesink.h:
516         Correctly parse newsegment info.
517
518 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
519
520         * gst/gst.c: (init_post):
521           split plugin paths correctly
522
523 2005-10-11  Wim Taymans  <wim@fluendo.com>
524
525         * check/gst/gstevent.c: (GST_START_TEST):
526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
527         (gst_base_sink_change_state):
528         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
529         * gst/base/gstbasetransform.c: (gst_base_transform_event):
530         * gst/elements/gstfilesink.c: (gst_file_sink_event):
531         * gst/gstevent.c: (gst_event_new_newsegment),
532         (gst_event_parse_newsegment):
533         * gst/gstevent.h:
534         Added extra flag to newsegment for future API freeze.
535         Updated check and base elements.
536
537 2005-10-11  Julien MOUTTE  <julien@moutte.net>
538
539         * gst/base/gstcollectpads.c: (gst_collectpads_init),
540         (gst_collectpads_add_pad), (gst_collectpads_pop),
541         (gst_collectpads_event), (gst_collectpads_chain):
542         * gst/base/gstcollectpads.h: Handle EOS correctly.
543
544 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
545
546         * tools/gst-launch.c: (main):
547           more null protecting
548
549 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
550
551         * gst/gst-i18n-lib.h:
552           check for ENABLE_NLS, not GETTEXT_PACKAGE
553         * gst/gstregistry.c: (gst_registry_add_plugin),
554         (gst_registry_scan_path_level),
555         (_gst_registry_remove_cache_plugins):
556           protect possibly NULL strings
557         * gst/parse/types.h:
558           config.h already included before
559         * tools/gst-inspect.c: (main):
560           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
561           check for ENABLE_NLS, not GETTEXT_PACKAGE
562         * tools/gst-launch.c: (main):
563           check for ENABLE_NLS, not GETTEXT_PACKAGE
564
565 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
566
567         * configure.ac:
568           if we don't have glib, fail before testing 2.8
569         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
570           fix a leak, should fix plugins-base testsuite
571
572 2005-10-11  Andy Wingo  <wingo@pobox.com>
573
574         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
575         take the mode we're going to as an arg. Go head and set the mode
576         and flushing flags now, so that if the activate function starts a
577         thread all the flags will be in the right state.
578         (post_activate): Renamed also. Just handle making sure streaming
579         finishes for the deactivation case, and setting the deactivated
580         mode.
581         (gst_pad_set_active): Complain loudly if deactivation fails.
582         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
583         (gst_pad_activate_push): Adapt to pre/post_activate changes,
584         remove the terrible hack.
585
586 2005-10-11  Wim Taymans  <wim@fluendo.com>
587
588         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
589         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
590         (gst_bin_recalc_state), (gst_bin_change_state_func),
591         (gst_bin_dispose), (bin_bus_handler):
592         * gst/gstbin.h:
593         Prepare to make current EOS message queue more generic.
594         Fix some typos.
595
596         * gst/gstevent.c: (gst_event_new_newsegment),
597         (gst_event_parse_newsegment):
598         * gst/gstevent.h:
599         Rename base to stream_time.
600
601         * gst/gstmessage.h:
602         Fix typo in docs.
603
604 2005-10-11  Wim Taymans  <wim@fluendo.com>
605
606         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
607         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
608         (gst_bin_change_state_func), (bin_bus_handler):
609         * gst/gstbin.h:
610         Work on proper clock selection.
611
612 2005-10-11  Edward Hervey  <edward@fluendo.com>
613
614         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
615         * libs/gst/controller/gstcontroller.h:
616         Added GList* version of _remove_properties() in order to be able to wrap
617         it in bindings.
618
619 2005-10-11  Wim Taymans  <wim@fluendo.com>
620
621         * docs/design/part-states.txt:
622         Some more docs.
623
624         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
625         (gst_bin_change_state_func), (bin_bus_handler):
626         Doc updates. Don't distribute the same clock over and over again.
627
628         * gst/gstclock.c:
629         * gst/gstclock.h:
630         Doc updates.
631
632         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
633         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
634         (gst_pad_send_event):
635         * gst/gstpad.h:
636         Make probe emission threadsafe again.
637         Register quarks and move _get_name() from utils.
638         Doc updates.
639
640         * gst/gstpipeline.c: (gst_pipeline_class_init),
641         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
642         Only redistribute the clock of it changed.
643
644         * gst/gstsystemclock.h:
645         Doc updates. 
646
647         * gst/gstutils.c:
648         * gst/gstutils.h:
649         Moved the _flow_get_name() to GstPad.
650
651 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
652
653         * check/gst-libs/gdp.c: (GST_START_TEST):
654         * check/gst/gstcaps.c: (GST_START_TEST):
655         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
656         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
657         (gst_dp_packet_from_caps):
658           fix more valgrind warnings before turning up the heat
659
660 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
661
662         * gst/parse/grammar.y:
663           some cleanup before the hacking
664
665 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
666
667         * gst/base/gstbasesrc.c: (gst_base_src_query):
668           use conversions
669         * gst/gstutils.c: (gst_guint64_to_gdouble),
670         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
671         * gst/gstutils.h:
672           externalize, basesrc uses it
673           obviously the implementation needs testing
674
675 2005-10-10  Wim Taymans  <wim@fluendo.com>
676
677         * tests/sched/Makefile.am:
678         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
679         (make_pipeline3), (make_pipeline4), (print_elem), (main):
680
681 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
682
683         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
684           apparently converting from guint64 to double is not implemented
685           on MSVC
686
687 2005-10-10  Wim Taymans  <wim@fluendo.com>
688
689         * check/Makefile.am:
690         * check/generic/states.c: (GST_START_TEST):
691         * check/gst/gstbin.c: (GST_START_TEST):
692         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
693         * check/states/sinks.c: (GST_START_TEST):
694         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
695         (main):
696         Check fixes, use API as stated in design docs, remove hacks.
697
698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
699         (gst_base_sink_change_state):
700         Catch stopping our task while we're shutting down.
701
702         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
703         (gst_bin_remove_func), (gst_bin_get_state_func),
704         (gst_bin_recalc_state), (gst_bin_change_state_func),
705         (bin_bus_handler):
706         * gst/gstbin.h:
707         * gst/gstelement.c: (gst_element_init),
708         (gst_element_get_state_func), (gst_element_abort_state),
709         (gst_element_commit_state), (gst_element_lost_state),
710         (gst_element_set_state), (gst_element_change_state),
711         (gst_element_change_state_func):
712         * gst/gstelement.h:
713         New state change algorithm (see #318116)
714
715         * gst/gstpipeline.c: (gst_pipeline_class_init),
716         (gst_pipeline_init), (gst_pipeline_set_property),
717         (gst_pipeline_get_property), (do_pipeline_seek),
718         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
719         * gst/gstpipeline.h:
720         Remove crude state change hacks.
721
722         * gst/gstutils.h:
723         Remove crude hacks.
724
725         * tools/gst-launch.c: (main):
726         Fixes for state change. Needs some more work to fully use the
727         new stuff.
728
729 2005-10-10  Andy Wingo  <wingo@pobox.com>
730
731         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
732
733         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
734         this flag, but it's not even in GLib 2.6. Odd. Hack around the
735         issue.
736
737 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
738
739         * gst/gstiterator.c: (gst_iterator_new):
740           Fix my previous commit: GTypes passed to gst_iterator_new()
741           can be fundamental types.
742
743 2005-10-10  Wim Taymans  <wim@fluendo.com>
744
745         * gst/gstelement.c: (gst_element_iterate_pad_list),
746         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
747         (gst_element_iterate_sink_pads):
748         Use src/sink pads lists for the respective iterators instead
749         of filtering.
750
751 2005-10-10  Andy Wingo  <wingo@pobox.com>
752
753         Merged in popt removal + GOption addition patch from Ronald, bug
754         #169772.
755
756         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
757         GstElement macros around, remove popt-related symbols, add goption
758         stuff.
759
760         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
761         
762         * docs/gst/Makefile.am:
763         * docs/libs/Makefile.am: No POPT_CFLAGS.
764         
765         * examples/manual/Makefile.am:
766         * docs/manual/basics-init.xml: Doc updates with an example.
767         
768         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
769         (gst_init), (parse_one_option), (parse_goption_arg):
770         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
771         bit of hand merging and debugging to get the GOption stuff working
772         tho.
773         
774         * tests/Makefile.am:
775         * tools/Makefile.am:
776         * tools/gst-inspect.c: (main):
777         * tools/gst-launch.c: (main):
778         * tools/gst-run.c: (main):
779         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
780
781 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
782
783         * gst/gstiterator.c: (gst_iterator_new):
784           Add assertions to make sure passed GType is likely to really
785           be a GType (as the compiler won't catch it if the size and
786           GType arguments get mixed up, see #318447).
787
788 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
789
790         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
791
792         * gst/gstbin.c: (gst_bin_iterate_sorted):
793           Pass GType and size arguments to gst_iterator_new() in the right
794           order (maybe we should make _new() take the GType as first argument
795           just like _new_list()?) (#318447).
796           
797
798 2005-10-10  Wim Taymans  <wim@fluendo.com>
799
800         * gst/gstelement.c: (gst_element_finalize):
801         And free the GStaticRecMutex too
802
803 2005-10-10  Andy Wingo  <wingo@pobox.com>
804
805         * gst/gstelement.c (gst_element_init, gst_element_finalize):
806         Allocate and free the mutex properly.
807
808         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
809         New macros.
810         (GstElement): The state_lock is now recursive. Rebuild your
811         plugins, suckers. Old macros adapted.
812
813         * docs/gst/gstreamer-sections.txt: Doc updates.
814
815         * gst/gstutils.h:
816         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
817         (g_static_rec_cond_wait): Ported from state changes patch, while
818         we wait on bug #317802 to be solved in a well-distributed GLib.
819
820         * gst/gstelement.c (gst_element_change_state_func): Renamed from
821         gst_element_change_state, variable name changes.
822         (gst_element_change_state): Split out of gst_element_set_state in
823         preparation for the state change merge. Doesn't pay attention to
824         the 'transition' argument.
825         (gst_element_set_state): Updates, hopefully purely cosmetic.
826         (gst_element_sync_state_with_parent): MT-safety. Ported from the
827         state change patch.
828         (gst_element_get_state_func): Renamed from get_state, cosmetic
829         changes.
830
831 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
832
833         * gst/elements/gstelements.c:
834         * win32/GStreamer.vcproj:
835         * win32/config.h:
836         * win32/dirent.c: (_tseekdir):
837         * win32/gst-inspect.vcproj:
838         * win32/gst-launch.vcproj:
839         * win32/gstconfig.h:
840         * win32/gstelements.vcproj:
841         * win32/gstenumtypes.c: (gst_object_flags_get_type):
842         * win32/gstreamer.def:
843         * win32/msvc71.sln:
844           updates for the win32 build (patch from Sebastien Moutte)
845
846 2005-10-10  Andy Wingo  <wingo@pobox.com>
847
848         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
849         gst_bin_get_state, cleaned up (but no logic changes).
850         (bin_element_is_sink): Comment updates.
851         (sink_iterator_filter): Remove needless cast.
852         (gst_bin_iterate_sinks): Doc update.
853         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
854         cleaned up (but no logic changes).
855
856         * check/states/sinks.c (test_src_sink): Cleanups from the state
857         change patch.
858         (test_livesrc_sink): Sync on the state.
859
860         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
861         the state change patch.
862
863         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
864         change patch.
865
866         * check/gst/gstbin.c: Merge in some style fixes and additional
867         checks from Wim's state change patch.
868
869 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
870
871         * gst/base/gsttypefindhelper.c: (helper_find_peek),
872         (gst_type_find_helper):
873           Check whether we have the requested data already in our list of
874           cached buffers before pulling a new buffer; also make the buffer
875           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
876
877 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
878
879         * gst/gstcaps.c:
880         * gst/gstevent.c:
881           doc updates
882         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
883           don't use long long, it's not portable.  Replacing with
884           gint64 seems to work; let's hope no skeletons fall out of the closet.
885
886 2005-10-10  Andy Wingo  <wingo@pobox.com>
887
888         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
889
890 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
891
892         * docs/gst/gstreamer-sections.txt:
893         * gst/gstevent.c:
894         * gst/gstevent.h:
895         * gst/gstinfo.c:
896         * gst/gstinfo.h:
897         * gst/gstmessage.c: (gst_message_parse_state_changed):
898         * gst/gstpad.c:
899         * gst/gstpad.h:
900           more docs, fix compilation
901
902 2005-10-09  Philippe Khalaf <burger@speedy.org>
903         * gst/gstmessage.c:
904         Fixed a few forgotten variables on previous commit
905
906 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * gst/base/gsttypefindhelper.c: (helper_find_peek):
909           Fix evil typefind crasher: getrange() might return a short
910           buffer at the end of a file, but gst_type_find_peek() must
911           either return the full data as requested or NULL, but
912           never a short buffer.
913
914 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
915
916         * gst/gstmessage.c: (gst_message_new_state_changed),
917         (gst_message_parse_state_changed):
918         * gst/gstmessage.h:
919           don't use "new", it's a C++ keyword
920
921 2005-10-08  Wim Taymans  <wim@fluendo.com>
922
923         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
924         * gst/gstelement.c: (gst_element_post_message):
925         * gst/gstpipeline.c: (gst_pipeline_change_state):
926         Small docs and debug updates.
927
928 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
929
930         * docs/gst/gstreamer-sections.txt:
931         * gst/gstelementfactory.c:
932         * gst/gstevent.c:
933         * gst/gsttaglist.c:
934           more docs
935
936 2005-10-08  Wim Taymans  <wim@fluendo.com>
937
938         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
939         (gst_bin_dispose), (bin_bus_handler):
940         Fix typos, add comments.
941         Clear EOS list when going to PAUSED from any direction and do it
942         in a threadsafe way.
943         Get base time in a threadsafe way too.
944         Fix confusing debug in the change_state function.
945         Various other small cleanups.
946         
947         * gst/gstelement.c: (gst_element_post_message):
948         Fix very verbose bus posting code.
949
950         * gst/gstpipeline.c: (gst_pipeline_class_init),
951         (gst_pipeline_set_property), (gst_pipeline_get_property),
952         (gst_pipeline_change_state):
953         Small ARG_ -> PROP_ cleanup
954
955 2005-10-08  Wim Taymans  <wim@fluendo.com>
956
957         * gst/gstbin.c: (is_eos), (bin_bus_handler):
958         Do a less CPU demanding EOS check because we can.
959
960 2005-10-08  Wim Taymans  <wim@fluendo.com>
961
962         * libs/gst/dataprotocol/dataprotocol.c:
963         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
964         (gst_dp_packet_from_event):
965         * libs/gst/dataprotocol/dataprotocol.h:
966         * libs/gst/dataprotocol/dp-private.h:
967         It's about time we bump the version number.
968         Since event types don't fit in the guint8 anymore describing
969         the payload type, make payload type 16 bits wide.
970
971 2005-10-08  Wim Taymans  <wim@fluendo.com>
972
973         * docs/design/part-TODO.txt:
974         * docs/design/part-clocks.txt:
975         * docs/design/part-events.txt:
976         * docs/design/part-gstbin.txt:
977         * docs/design/part-gstelement.txt:
978         * docs/design/part-gstpipeline.txt:
979         * docs/design/part-live-source.txt:
980         * docs/design/part-messages.txt:
981         * docs/design/part-overview.txt:
982         * docs/design/part-states.txt:
983         Many doc updates.
984
985 2005-10-08  Wim Taymans  <wim@fluendo.com>
986
987         * gst/gstevent.c:
988         * gst/gstevent.h:
989         Fix event quark registration.
990         Add some space between events so we can insert them in the
991         right groups.
992
993 2005-10-08  Wim Taymans  <wim@fluendo.com>
994
995         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
996         (gst_base_sink_handle_buffer):
997         Better log message.
998
999         * gst/gstbus.h:
1000         * gst/gstelement.h:
1001         More docs.
1002
1003         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
1004         (gst_queue_set_property), (gst_queue_get_property):
1005         * gst/gstqueue.h:
1006         Remove old unused properties.
1007
1008 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
1009         * docs/gst/gstreamer-sections.txt:
1010         * gst/gstmessage.c:
1011         * gst/gstmessage.h:
1012         * gst/gstminiobject.c:
1013         * gst/gstminiobject.h:
1014         * gst/gstobject.h:
1015         * gst/gstpad.h:
1016         * gst/gstutils.h:
1017           lots of new docs and doc fixes
1018
1019 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1020
1021         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
1022         * gst/gstplugin.h:
1023         * gst/gstregistry.c: (gst_registry_lookup_locked),
1024         (gst_registry_scan_path_level):
1025         * gst/gstregistryxml.c: (load_plugin):
1026           Only ever load one plugin for a given plugin basename.
1027           This ensures correct overriding of GST_PLUGIN_PATH over
1028           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
1029           system installed plugins.
1030
1031 2005-10-08  Wim Taymans  <wim@fluendo.com>
1032
1033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1034         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
1035         Prepare for doing QOS.
1036
1037 2005-10-08  Wim Taymans  <wim@fluendo.com>
1038
1039         * check/gst/gstbin.c: (GST_START_TEST):
1040         * check/pipelines/cleanup.c: (GST_START_TEST):
1041         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1042         Allow new clock message too.
1043
1044 2005-10-08  Wim Taymans  <wim@fluendo.com>
1045
1046         * gst/gstmessage.c: (gst_message_new_error),
1047         (gst_message_new_warning), (gst_message_new_tag),
1048         (gst_message_new_state_changed), (gst_message_new_clock_provide),
1049         (gst_message_new_clock_lost), (gst_message_new_new_clock),
1050         (gst_message_new_segment_start), (gst_message_new_segment_done),
1051         (gst_message_parse_state_changed),
1052         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1053         (gst_message_parse_new_clock):
1054         * gst/gstmessage.h:
1055         Also carry the clock in question.
1056
1057 2005-10-08  Wim Taymans  <wim@fluendo.com>
1058
1059         * gst/gstmessage.c: (gst_message_new_custom),
1060         (gst_message_new_eos), (gst_message_new_error),
1061         (gst_message_new_warning), (gst_message_new_tag),
1062         (gst_message_new_state_changed), (gst_message_new_clock_provide),
1063         (gst_message_new_new_clock), (gst_message_new_segment_start),
1064         (gst_message_new_segment_done), (gst_message_parse_state_changed),
1065         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
1066         * gst/gstmessage.h:
1067         Clean up.
1068         Added clock related messages.
1069
1070         * gst/gstpipeline.c: (gst_pipeline_change_state):
1071         Post message when the clock changed.
1072
1073         * tools/gst-launch.c: (event_loop):
1074         Print new clock.
1075
1076 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1077
1078         * tools/gst-inspect.c: (print_element_properties_info):
1079           Can't pass NULL strings to g_print() on windows.
1080
1081 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1082
1083         * docs/Makefile.am:
1084         * docs/gst/Makefile.am:
1085         * docs/gst/gstreamer-docs.sgml:
1086         * docs/gst/running.xml:
1087         * docs/version.entities.in:
1088           add a chapter on running GStreamer.
1089           document GST_DEBUG and GST_PLUGIN* env vars
1090
1091 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1092
1093         * Makefile.am:
1094           remove include dir
1095         * configure.ac:
1096           remove PLUGINS_BUILDDIR stuff
1097         * gst/gst.c: (init_post):
1098           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
1099         * idiottest.mak:
1100           remove, it was condescending and not needed
1101
1102 2005-10-08  Wim Taymans  <wim@fluendo.com>
1103
1104         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1105         (gst_base_sink_handle_object), (gst_base_sink_event),
1106         (gst_base_sink_wait), (gst_base_sink_handle_event),
1107         (gst_base_sink_change_state):
1108         * gst/base/gstbasesink.h:
1109         Repost EOS message while going to PLAYING if still EOS.
1110         Make sure that when receiving a FLUSH_START we don't attempt
1111         to sync on the clock anymore.
1112
1113 2005-10-08  Wim Taymans  <wim@fluendo.com>
1114
1115         * tools/gst-launch.c: (event_loop):
1116         Better message printout.
1117
1118 2005-10-08  Wim Taymans  <wim@fluendo.com>
1119
1120         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
1121         (gst_bin_child_proxy_get_children_count):
1122         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
1123         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
1124         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
1125         (gst_child_proxy_set_valist):
1126         * gst/parse/grammar.y:
1127         Make ChildProxy threadsafe and fix mem leaks.
1128
1129 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1130
1131         * gst/gst.c: (init_post):
1132           debug the GST_PLUGIN_ env vars
1133
1134 2005-10-08  Wim Taymans  <wim@fluendo.com>
1135
1136         * check/gst/gstbin.c: (GST_START_TEST):
1137         * check/gst/gstmessage.c: (GST_START_TEST):
1138         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1139         * gst/gstelement.c: (gst_element_commit_state),
1140         (gst_element_lost_state):
1141         * gst/gstmessage.c: (gst_message_new_state_changed),
1142         (gst_message_parse_state_changed):
1143         * gst/gstmessage.h:
1144         * tools/gst-launch.c: (event_loop):
1145         Added extra field to STATE_CHANGE message with the pending
1146         state, which will be different from the new state soon.
1147
1148 2005-10-08  Wim Taymans  <wim@fluendo.com>
1149
1150         * gst/gstbus.c: (gst_bus_pop):
1151         * gst/gstclock.c:
1152         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1153         Small cleanups and doc updates.
1154
1155 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1156
1157         * gst/gst.c: (init_pre):
1158         * gst/gstbin.c: (gst_bin_add_func):
1159           log distributing clocks and base time
1160         * gst/gstregistry.c: (gst_registry_add_plugin),
1161         (gst_registry_scan_path_level), (gst_registry_scan_path):
1162           clean up the debugging output a little
1163         * gst/gstutils.c: (gst_element_state_get_name):
1164           warn about a memleak (I've actually seen this be used, though
1165           it was probably a bug)
1166
1167 2005-10-07  Wim Taymans  <wim@fluendo.com>
1168
1169         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1170         (gst_base_src_init), (gst_base_src_default_newsegment),
1171         (gst_base_src_newsegment), (gst_base_src_do_seek),
1172         (gst_base_src_loop), (gst_base_src_start):
1173         * gst/base/gstbasesrc.h:
1174         Make the newsegment event customizable by subclasses.
1175
1176 2005-10-07  Wim Taymans  <wim@fluendo.com>
1177
1178         * gst/gstevent.c: (gst_event_new_buffersize),
1179         (gst_event_parse_buffersize):
1180         * gst/gstevent.h:
1181         New event for future idea.
1182
1183 2005-10-07  Andy Wingo  <wingo@pobox.com>
1184
1185         * gst/gstelement.c (gst_element_post_message): Doc update.
1186
1187         * docs/gst/gstreamer-sections.txt: Update.
1188
1189         * gst/gstmessage.c (gst_message_new_application): Made into a
1190         function like honest API calls.
1191         (gst_message_new_element): New message type.
1192
1193         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
1194
1195         * check/elements/fakesrc.c (test_no_preroll): New check, checks
1196         that setting a live fakesrc to PAUSED returns NO_PREROLL both
1197         times.
1198
1199         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
1200         NO_PREROLL from gst_element_change_state to fall through.
1201
1202 2005-10-07  Wim Taymans  <wim@fluendo.com>
1203
1204         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
1205         (gst_ghost_pad_do_activate_push):
1206         Activating a ghostpad with no internal pad in push mode
1207         is ok.
1208
1209 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1210
1211         * gst/gstobject.h:
1212           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
1213           Fixes compilation on Windows.
1214
1215 2005-10-07  Michael Smith <msmith@fluendo.com>
1216
1217         * tools/gst-inspect.c:
1218           Print out feature and plugin count at the end when printing out
1219           all features.
1220
1221 2005-10-04  Michael Smith <msmith@fluendo.com>
1222
1223         * gst/gsterror.c: (_gst_stream_errors_init):
1224           Add another error string used in a few existing plugins.
1225
1226         * gst/gstplugin.c:
1227         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1228         * tools/gst-inspect.c: (print_element_info):
1229           When a feature disappears from a plugin (and the feature exists in
1230           the cached registry file), things went horribly wrong. This isn't a
1231           complete fix, we should actually be removing the 'missing' features
1232           from the features list when we load the actual plugin. That's not
1233           yet implemented. 
1234
1235 2005-10-04  Johan Dahlin  <johan@gnome.org>
1236
1237         * check/gst/gstiterator.c: (GST_START_TEST):
1238         * gst/gstbin.c: (gst_bin_iterate_elements),
1239         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
1240         * gst/gstelement.c: (gst_element_iterate_pads):
1241         * gst/gstformat.c: (gst_format_iterate_definitions):
1242         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
1243         (gst_iterator_new_list), (gst_iterator_filter):
1244         * gst/gstiterator.h:
1245         * gst/gstquery.c: (gst_query_type_iterate_definitions):
1246         Add a GType to GstIterator, update callsites and tests.
1247
1248 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1249
1250         * gst/gstpad.c: (gst_pad_event_default_dispatch):
1251           give events a chance to be handled by event probes when the pad
1252           is not linked
1253
1254 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1255
1256         * gst/gstevent.c: (gst_event_type_get_name),
1257         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
1258         * gst/gstevent.h:
1259           add string representations for event types
1260
1261 2005-10-06  Wim Taymans  <wim@fluendo.com>
1262
1263         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
1264         Don't use NULL pointers.
1265
1266 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1267
1268         * gst/gst_private.h:
1269         * gst/gstbus.c:
1270         * gst/gstelement.c:
1271         * gst/gstinfo.c:
1272         * gst/gstpluginfeature.c:
1273           widen the debug category in output to fit the biggest one we have
1274           add a bus category and use it
1275           play with the colors
1276           fix up some categories
1277
1278 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1279
1280         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
1281           add push activation of sink ghost pads.
1282           Andye, please verify
1283
1284 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1285
1286         * gst/gstutils.c: (gst_element_link_pads):
1287           fix a bug in the case where neither element has a pad
1288         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1289           add a test for that case
1290
1291 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
1294           emit have-data before checking for peers.  This allows
1295           for probe handlers to connect elements.  This helps autopluggers.
1296         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
1297         (gst_pad_suite):
1298           add six checks, linked/unlinked with no/true/false probe
1299
1300 2005-10-04  Wim Taymans  <wim@fluendo.com>
1301
1302         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
1303         (gst_fake_sink_event), (gst_fake_sink_preroll),
1304         (gst_fake_sink_render), (gst_fake_sink_change_state):
1305         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
1306         (gst_fake_src_get_property), (gst_fake_src_create),
1307         (gst_fake_src_stop):
1308         * gst/elements/gstidentity.c: (gst_identity_stop):
1309         Protect last_message with lock.
1310
1311 2005-10-04  Edward Hervey  <edward@fluendo.com>
1312
1313         * gst/gstformat.h: 
1314         Added precision in the comments for GST_FORMAT_DEFAULT
1315
1316 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
1317
1318         * tools/gst-launch.c: (main):
1319           Don't try to run erroneous pipelines.
1320
1321 2005-10-04  Julien MOUTTE  <julien@moutte.net>
1322
1323         * gst/gstbus.c: We don't need this header.
1324
1325 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1326
1327         * configure.ac:
1328           back to development
1329
1330 === release 0.9.3 ===
1331
1332 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1333
1334         * README:
1335         * configure.ac:
1336           Releasing 0.9.3, "Unregistered"
1337
1338 2005-10-03  Andy Wingo  <wingo@pobox.com>
1339
1340         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
1341         whereby calling a pad's activatepush() function can start a thread
1342         that starts to push or pull before the pad gets the FLUSHING flag
1343         unset. Hack around it by holding the stream lock until the flag is
1344         set. Need to replace this with a proper solution. Together with
1345         the ghost pad fixes, this fixes mp3 playing/tagreading.
1346
1347         * docs/design/part-gstghostpad.txt: Add a note about activation of
1348         proxy pads outside of ghost pads.
1349
1350         * gst/gstghostpad.c: Implement the ghost pad activation design.
1351
1352 2005-10-02  Andy Wingo  <wingo@pobox.com>
1353
1354         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
1355         It is volatile, after all.
1356
1357         * docs/design/part-gstghostpad.txt: Flesh out activation with
1358         ghost pads.
1359
1360         * gst/base/gstbasesrc.c (gst_base_src_init): Use
1361         GST_DEBUG_FUNCPTR.
1362
1363 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
1364
1365         * configure.ac:
1366           Fix (unused) AM_CONDITIONAL tests.
1367
1368 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
1369
1370         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1371
1372         * gst/gstutils.c: (gst_pad_query_convert):
1373           Add assertion that makes sure src_val is >=0, just like
1374           gst_query_new_convert() has. (#315895)
1375
1376 2005-09-30  Edward Hervey  <edward@fluendo.com>
1377
1378         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
1379         Let's not iterate pads we're not interested in, it avoids getting 
1380         sky-high refcounts on sinkpad.
1381
1382 2005-09-30  Wim Taymans  <wim@fluendo.com>
1383
1384         * gst/gstelement.c: (gst_element_set_state),
1385         (gst_element_change_state):
1386         Small tweak, element in ASYNC remains ASYNC.
1387
1388 2005-09-30  Wim Taymans  <wim@fluendo.com>
1389
1390         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1391         Only error is an error.
1392
1393         * gst/gstbin.c: (gst_bin_change_state):
1394         Better debugging.
1395
1396         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
1397         Also call pad_block in pad alloc.
1398
1399         * gst/gstutils.c: (gst_flow_get_name):
1400         Better debugging.
1401
1402 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
1403
1404         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1405         (gst_base_src_get_range):
1406           Fix documentation typos. Add some more debug info.
1407
1408 2005-09-29  David Schleef  <ds@schleef.org>
1409
1410         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
1411           more end-user friendly.
1412         * tools/gst-inspect.c: (main): Check if command-line argument is
1413           a file and attempt to load that file as a plugin.
1414
1415 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * check/gst/gstbin.c:
1418         * check/states/sinks.c:
1419           fix tests for the new warning
1420         * check/gst/gstpipeline.c:
1421           add a test for pipeline and bus interaction
1422         * gst/gstelement.c:
1423           elements should be NULL if they get disposed; add a warning if not
1424
1425 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1426
1427         * gst/gstobject.c:
1428           for 2.6 refcounting, make debug log more correct by printing
1429           the actual refcounts at the time of swap (Wim)
1430
1431 2005-09-29  Andy Wingo  <wingo@pobox.com>
1432
1433         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
1434         removes signal watches previously added via
1435         gst_bus_add_signal_watch.
1436         (gst_bus_add_signal_watch): Don't return the source id, just store
1437         it on the bus if there wasn't an id already.
1438
1439         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
1440         add_signal_watch and remove_signal_watch.
1441
1442 2005-09-29  Edward Hervey  <edward@fluendo.com>
1443
1444         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
1445         Better if we actually iterate the list :)
1446
1447 2005-09-29  Wim Taymans  <wim@fluendo.com>
1448
1449         * check/gst/gstbin.c: (GST_START_TEST):
1450         Change for new bus API.
1451
1452         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
1453         (send_messages), (GST_START_TEST), (gstbus_suite):
1454         Change for new bus signal API.
1455
1456         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
1457         (gst_bus_source_prepare), (gst_bus_source_check),
1458         (gst_bus_create_watch), (gst_bus_add_watch_full),
1459         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
1460         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
1461         * gst/gstbus.h:
1462         Remove support for multiple GSources operating on different
1463         message types as it is too complex and unneeded when using
1464         signals.
1465         Added support for receiving signals from the bus.
1466
1467 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1468
1469         * docs/libs/tmpl/gstdataprotocol.sgml:
1470         * docs/manual/advanced-dataaccess.xml:
1471         * gst/elements/gstcapsfilter.c:
1472         * gst/gstutils.c:
1473           rename filter-caps to caps property
1474
1475 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
1476
1477         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1478           More robust fraction string parsing.
1479
1480         * docs/pwg/appendix-porting.xml:
1481           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
1482
1483 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
1484
1485         * gst/gstcaps.c: (gst_caps_do_simplify):
1486           Thou shalt not free a structure and then continue using it
1487           in the next loop iteration.
1488
1489         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
1490         (gst_caps_suite):
1491           Add test case for caps simplification.
1492
1493 2005-09-29  Wim Taymans  <wim@fluendo.com>
1494
1495         * check/gst/gstbin.c: (GST_START_TEST):
1496         Oops.
1497
1498 2005-09-29  Wim Taymans  <wim@fluendo.com>
1499
1500         * check/gst/gstbin.c: (GST_START_TEST):
1501         Add bus to bin.
1502
1503         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1504         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
1505         (find_element), (gst_bin_sort_iterator_next),
1506         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1507         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1508         (gst_bin_change_state), (gst_bin_dispose):
1509         A bin does not have a bus, it gets the bus from the parent.
1510
1511         * gst/gstelement.c: (gst_element_requires_clock),
1512         (gst_element_provides_clock), (gst_element_is_indexable),
1513         (gst_element_is_locked_state), (gst_element_change_state),
1514         (gst_element_set_bus_func):
1515         Small cleanups.
1516
1517         * gst/gstpipeline.c: (gst_pipeline_class_init),
1518         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
1519         The pipeline provides a bus.
1520
1521 2005-09-28  Johan Dahlin  <johan@gnome.org>
1522
1523         * gst/gstmessage.c (gst_message_parse_state_changed): Use
1524         gst_structure_get_enum instead of gst_structure_get_int
1525
1526         * gst/gststructure.c (gst_structure_get_enum): Impl.
1527
1528         * gst/gststructure.h (gst_structure_get_enum): Add
1529
1530         * docs/gst/gstreamer-sections.txt: Ditto
1531
1532         * gst/gstmessage.c (gst_message_new_state_changed): Use
1533         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
1534         which does introspection.
1535         Reviewed by Christian Schaller
1536
1537 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
1538
1539         * gst/gstinfo.c: (gst_debug_log_default):
1540           don't do dummy g_strdup()s
1541         * libs/gst/controller/gstcontroller.c:
1542         (on_object_controlled_property_changed),
1543         (gst_controlled_property_new), (gst_controller_new_valist),
1544         (gst_controller_new_list),
1545         (gst_controller_remove_properties_valist), (gst_controller_set),
1546         (gst_controller_get), (gst_controller_sync_values),
1547         (gst_controller_get_value_array), (_gst_controller_class_init),
1548         (gst_controller_get_type):
1549         * libs/gst/controller/gstcontroller.h:
1550         * libs/gst/controller/gstinterpolation.c:
1551         (gst_controlled_property_find_timed_value_node):
1552           convert // to /**/ comments
1553
1554 2005-09-28  Wim Taymans  <wim@fluendo.com>
1555
1556         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
1557         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
1558         (gst_bus_sync_signal_handler):
1559         * gst/gstbus.h:
1560         Added async-message and sync-message signals to the bus.
1561         Added helper BusFunc to emit signals for all posted messages.
1562
1563         * gst/gstmessage.c: (gst_message_type_get_name),
1564         (gst_message_type_to_quark), (gst_message_get_type):
1565         * gst/gstmessage.h:
1566         Register quarks for message names.
1567
1568 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
1569
1570         * docs/libs/gstreamer-libs-sections.txt:
1571         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
1572         (gst_controller_new_list):
1573         * libs/gst/controller/gstcontroller.h:
1574           added another constructor for language bindings
1575
1576 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1577
1578         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1579           add another check
1580         * gst/gstbus.c:
1581           add some doc
1582         * gst/gstinfo.c: (_gst_debug_init):
1583           slightly more readable color for refcount debugging
1584
1585 2005-09-28  Wim Taymans  <wim@fluendo.com>
1586
1587         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1588         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
1589         (find_element), (gst_bin_sort_iterator_next),
1590         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1591         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1592         (gst_bin_change_state), (gst_bin_dispose):
1593         Small doc fixes. get_clock -> provide_clock.
1594
1595         * gst/gstelement.c: (gst_element_class_init),
1596         (gst_element_provides_clock), (gst_element_provide_clock),
1597         (gst_element_get_clock), (gst_element_commit_state),
1598         (gst_element_lost_state):
1599         * gst/gstelement.h:
1600         Make get/set_clock() symetric. Add provide_clock vmethod since
1601         that is actually what this function does.
1602
1603         * gst/gstpipeline.c: (gst_pipeline_class_init),
1604         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
1605         (gst_pipeline_get_clock):
1606         get_clock -> provide_clock.
1607
1608 2005-09-28  Andy Wingo  <wingo@pobox.com>
1609
1610         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
1611         lieu of real docs...
1612
1613         * gst/elements/gstfdsrc.c: Cleaned up a bit.
1614
1615 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
1616
1617         * gst/elements/gstcapsfilter.c:
1618         * gst/elements/gstfakesink.c:
1619         * gst/elements/gstfakesrc.c:
1620         * gst/elements/gstfdsink.c:
1621         * gst/elements/gstfdsrc.c:
1622         * gst/elements/gstfilesink.c:
1623         * gst/elements/gstfilesrc.c:
1624         * gst/elements/gstidentity.c:
1625         * gst/elements/gsttee.c:
1626         * gst/elements/gsttypefindelement.c:
1627           Make element details static.
1628
1629 2005-09-28  Wim Taymans  <wim@fluendo.com>
1630
1631         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
1632         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
1633         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1634         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1635         (gst_bin_change_state), (gst_bin_dispose):
1636         Some documentation updates.
1637         Clean up dispose handlers.
1638
1639         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
1640         * gst/gstpad.c: (gst_pad_dispose):
1641         Clean up dispose handler.
1642
1643         * gst/gstpipeline.c: (gst_pipeline_change_state):
1644         Removed spurious UNLOCK.
1645
1646 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
1647
1648         * docs/gst/gstreamer-sections.txt:
1649         * gst/base/gstbasesrc.h:
1650         * gst/gstelement.h:
1651         * gst/gstevent.h:
1652         * gst/gstobject.h:
1653         * gst/gstpad.h:
1654         * gst/gstpipeline.c:
1655         * gst/gstpipeline.h:
1656         * gst/gstutils.h:
1657         * gst/gstxml.h:
1658           added two new functions to the docs
1659                 documents all undocumented GstXXXFlags
1660                 completed some incomplete docs 
1661
1662 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1663
1664         * gst/gstbin.c: (gst_bin_dispose):
1665         * gst/gstelement.c: (gst_element_dispose):
1666           remove now useless and leaky resurrection code in dispose
1667         * gst/base/gstbasesrc.c: (gst_base_src_init):
1668         * gst/gstelementfactory.c: (gst_element_factory_create):
1669         * gst/gstobject.c: (gst_object_set_parent):
1670           add some debugging
1671
1672 2005-09-27  Wim Taymans  <wim@fluendo.com>
1673
1674         * docs/design/part-TODO.txt:
1675         Update TODO.
1676
1677         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
1678         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
1679         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1680         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1681         (gst_bin_change_state):
1682         * gst/gstelement.h:
1683         Remove element variable, we keep element info in the iterator now.
1684
1685 2005-09-27  Andy Wingo  <wingo@pobox.com>
1686
1687         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
1688         values.
1689
1690 2005-09-27  Wim Taymans  <wim@fluendo.com>
1691
1692         * check/gst/gstbin.c: (GST_START_TEST):
1693         Enable check that works now.
1694
1695         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
1696         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
1697         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1698         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1699         (gst_bin_change_state):
1700         * gst/gstbin.h:
1701         Redid the state change algorithm using a topological sort algo.
1702         Handles all cases correctly.
1703         Exposed iterator for state change order.
1704
1705         * gst/gstelement.h:
1706         Temp storage for state changes. Need to get rid of this soon.
1707
1708 2005-09-27  Wim Taymans  <wim@fluendo.com>
1709
1710         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
1711         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
1712         (link_fold_func), (gst_pad_proxy_setcaps):
1713         Leak fixes, the fold functions need to unref the passed object and
1714         _get_parent_*() returns ref to parent.
1715
1716 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
1717
1718         * check/gst/gstbuffer.c: (test_make_writable):
1719           Plug leak in test case and fix 'make check-valgrind'
1720
1721 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
1722
1723         * gst/gstbuffer.c: (gst_subbuffer_init):
1724           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
1725           works correctly in all circumstances (we could have just copied
1726           the parent buffer's readonly flag, but conceptually it seems
1727           cleaner to mark all subbuffers as read-only). (based on patch
1728           by Alessandro Decina, #314710).
1729         
1730         * check/gst/gstbuffer.c: (create_read_only_buffer),
1731         (test_make_writable), (test_subbuffer_make_writable),
1732         (gst_test_suite):
1733           Add some tests for gst_buffer_make_writable().
1734
1735 2005-09-27  Wim Taymans  <wim@fluendo.com>
1736
1737         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
1738         use gst_object_has_ancestor().
1739
1740         * gst/gstobject.c: (gst_object_has_ancestor):
1741         * gst/gstobject.h:
1742         gst_object_has_ancestor() copied from gstbin.c as it is a
1743         usefull function.
1744
1745         * tests/instantiate/create.c: (create_all_elements):
1746         * tests/lat.c: (handoff_src), (handoff_sink):
1747         * tests/sched/runxml.c: (main):
1748         * tests/seeking/seeking1.c: (main):
1749         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1750         (main):
1751         Fix compilation of some tests.
1752
1753 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
1754
1755         * gst/gsterror.h:
1756           Remove comment. GST_TYPE_G_ERROR is here to stay,
1757           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
1758           (#316961, #300610).
1759
1760 2005-09-26  Wim Taymans  <wim@fluendo.com>
1761
1762         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1763         Added check that shows error in state change order.
1764
1765 2005-09-26  Wim Taymans  <wim@fluendo.com>
1766
1767         * gst/gstbin.c: (gst_bin_change_state):
1768         Make state change function use 3 queues again, we were
1769         adding elements in the wrong order.
1770
1771         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1772         Some debug info,
1773
1774         * gst/gstpad.c: (gst_pad_dispose):
1775         Added some debug info first.
1776
1777 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
1778
1779         * docs/design/draft-push-pull.txt:
1780         * docs/design/part-events.txt:
1781         * docs/design/part-overview.txt:
1782         * docs/design/part-scheduling.txt:
1783           Replace all _pull_region() with _pull_range()
1784           
1785 2005-09-26  Andy Wingo  <wingo@pobox.com>
1786
1787         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
1788
1789         * check/gst-libs/controller.c: Update for controller api change.
1790
1791         * configure.ac: 
1792         * tests/Makefile.am:
1793         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
1794         over by GLib bug 118439.
1795         
1796         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
1797         routines to a function.
1798
1799         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
1800
1801         * libs/gst/controller/gsthelper.c:
1802         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
1803         (gst_object_sync_values): Renamed from sink_values. Ugh.
1804
1805         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
1806
1807         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
1808         Renamed from controller_key, as it is exported.
1809
1810         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
1811
1812 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1813
1814         * gst/Makefile.am:
1815         * gst/gst.h:
1816         * gst/gstpad.h:
1817         * gst/gstpadtemplate.h:
1818         * gst/gstquery.c:
1819         * gst/gstquery.h:
1820         * gst/gstqueryutils.c:
1821         * gst/gstqueryutils.h:
1822           remove queryutils headers after moving the two used functions
1823           to gstquery.  also fixes build problem for gstsiddec
1824
1825 2005-09-26  Michael Smith <msmith@fluendo.com>
1826
1827         * tools/gst-launch.1.in:
1828         Correct documentation in manpage of debug syntax
1829
1830 2005-09-26  Wim Taymans  <wim@fluendo.com>
1831
1832         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1833         (gst_base_src_is_seekable), (gst_base_src_change_state):
1834         Some more debugging info.
1835
1836 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
1837
1838         * docs/gst/gstreamer-sections.txt:
1839         * gst/base/gstbasetransform.h:
1840         * gst/gstindex.h:
1841           added more docs
1842
1843 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
1844
1845         * docs/gst/.cvsignore:
1846         * docs/gst/tmpl/.cvsignore:
1847         * docs/gst/tmpl/gstpipeline.sgml:
1848         * docs/gst/tmpl/gstplugin.sgml:
1849         * gst/gstpipeline.c:
1850         * gst/gstplugin.c:
1851         * gst/gstplugin.h:
1852           inlined the last two docs files
1853           removed the tmpl directory from cvs (no more conflicts here!)
1854
1855 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
1856
1857         * docs/gst/gstreamer-sections.txt:
1858         * docs/gst/tmpl/.cvsignore:
1859         * docs/gst/tmpl/gstpad.sgml:
1860         * docs/gst/tmpl/gstpadtemplate.sgml:
1861         * gst/Makefile.am:
1862         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1863         (gst_pad_finalize), (gst_pad_set_pad_template):
1864         * gst/gstpad.h:
1865         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1866         (gst_pad_template_class_init), (gst_pad_template_init),
1867         (gst_pad_template_dispose), (name_is_valid),
1868         (gst_static_pad_template_get), (gst_pad_template_new),
1869         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
1870         (gst_pad_template_pad_created):
1871         * gst/gstpadtemplate.h:
1872           inlined two more docs
1873           factored gstpadtemplate out of gstpad
1874
1875 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
1876
1877         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
1878         (test_children_state_change_order_semi_sink):
1879           Fix test case: we can't rely on a fixed state change order when
1880           going from READY => PAUSED because the sink might commit its 
1881           new state first when the first buffer created by the source 
1882           reaches the sink before the source has finished its change state.
1883           (Test case still fails at times, see #316856, comment 5 onwards)
1884
1885 2005-09-24  Wim Taymans  <wim@fluendo.com>
1886
1887         * docs/design/part-events.txt:
1888         * docs/design/part-gstbus.txt:
1889         * docs/design/part-gstpipeline.txt:
1890         * docs/design/part-messages.txt:
1891         * docs/design/part-overview.txt:
1892         * docs/design/part-segments.txt:
1893         * gst/gstbin.c:
1894         * gst/gstbuffer.c:
1895         * gst/gstclock.c:
1896         * gst/gstelement.c:
1897         * gst/gstevent.c:
1898         * gst/gstfilter.c:
1899         * gst/gstiterator.c:
1900         Various documentation updates.
1901
1902 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1903
1904         * gst/gstclock.h:
1905           Well, that's embarassing.  Luckily we weren't using
1906           GST_CLOCK_DIFF anywhere.
1907
1908 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1909
1910         * common/gtk-doc.mak:
1911           don't fail on building XML, FC4 slave shows a bunch of doc
1912           missing bits that I don't get
1913         * gst/gstpad.c:
1914         * gst/gstpipeline.c:
1915         * gst/gststructure.c:
1916           some doc updates
1917
1918 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1919
1920         * docs/design/part-gstbin.txt:
1921         * docs/design/part-gstbus.txt:
1922         * gst/gstbus.c:
1923           Add blurb about how the bus goes into flushing mode and
1924           drops all messages when its bin goes from READY into NULL 
1925           state.
1926
1927 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1928
1929         * docs/gst/gstreamer-sections.txt:
1930         * gst/gststructure.c: (gst_structure_get_clock_time):
1931         * gst/gststructure.h:
1932           add a method to get a GstClockTime out of a structure
1933
1934 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1935
1936         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
1937         (test_children_state_change_order_semi_sink), (gst_bin_suite):
1938           Added test to check state change order in bins (can still be made
1939           to fail here under heavy disk load; bails out with 'Push on pad
1940           fakesink:sink0, but it was not activated in push mode').
1941
1942         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
1943           Fix state change order when there is only a semi sink (#316856)
1944
1945         * gst/gstbus.c: (gst_bus_class_init):
1946           Use _class_peek_parent(), not _class_ref(); fix docs to say
1947           'default main context' instead of 'mainloop' where that is
1948           what's meant.
1949
1950         * gst/gstelement.c: (gst_element_commit_state),
1951         (gst_element_set_state):
1952           Fix typos in debug messages
1953
1954 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1955
1956         * docs/README:
1957         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
1958         * gst/gstpluginfeature.c:
1959         * gst/gstutils.c:
1960           various doc updates
1961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1962           change an assert into an error until it gets fixed properly
1963
1964 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
1965
1966         * docs/gst/gstreamer-sections.txt:
1967         * docs/gst/tmpl/.cvsignore:
1968         * docs/gst/tmpl/gstelement.sgml:
1969         * docs/gst/tmpl/gstinfo.sgml:
1970         * docs/gst/tmpl/gstobject.sgml:
1971         * gst/gstelement.c:
1972         * gst/gstelement.h:
1973         * gst/gstinfo.c:
1974         * gst/gstinfo.h:
1975         * gst/gstobject.c: (gst_object_class_init):
1976         * gst/gstobject.h:
1977           inlined 3 more biiiig doc files and added some missing docs on the fly
1978
1979 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1980
1981         * check/gst/.cvsignore:
1982         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
1983         * gst/gstregistryxml.c: (load_plugin),
1984         (gst_registry_xml_save_plugin):
1985           put back source in registry.  add checks for find_plugin.
1986         * testsuite/states/bin.c: (assert_state), (empty_bin),
1987         (test_adding_one_element), (main):
1988         * testsuite/states/locked.c: (main):
1989           some compile/run fixes
1990
1991 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1992
1993         * check/gst/gstvalue.c: (GST_START_TEST):
1994           fix leaks in the test itself
1995
1996 2005-09-22  Wim Taymans  <wim@fluendo.com>
1997
1998         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1999         (gst_base_sink_send_event), (gst_base_sink_peer_query),
2000         (gst_base_sink_query):
2001         Prepare for more accurate position reporting and query
2002         handling.
2003
2004         * gst/gstelement.c: (gst_element_send_event),
2005         (gst_element_set_state):
2006         Add some comment.
2007
2008 2005-09-22  Wim Taymans  <wim@fluendo.com>
2009
2010         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
2011         (gst_query_parse_segment):
2012         * gst/gstquery.h:
2013         More documentation.
2014         Add segment query for future use.
2015
2016 2005-09-22  Wim Taymans  <wim@fluendo.com>
2017
2018         * gst/gstbin.c: (gst_bin_add_func):
2019         Some more debug info.
2020
2021         * gst/gstelement.c: (gst_element_send_event):
2022         Simplify send_event
2023
2024         * gst/gstelement.h:
2025         Don't know how flags got broken.
2026
2027         * gst/gstquery.h:
2028         Added new query.
2029
2030 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
2031
2032         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
2033           Add simplistic test suite for GST_TYPE_DATE serialisation and
2034           deserialisation.
2035
2036 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
2037
2038         * docs/gst/gstreamer-sections.txt:
2039         * gst/gststructure.c: (gst_structure_set_valist),
2040         (gst_structure_get_date):
2041         * gst/gststructure.h:
2042         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
2043         (gst_date_copy), (gst_value_compare_date),
2044         (gst_value_serialize_date), (gst_value_deserialize_date),
2045         (gst_value_transform_date_string),
2046         (gst_value_transform_string_date), (_gst_value_initialize):
2047         * gst/gstvalue.h:
2048           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
2049           bunch of utility functions along with a hack that checks that
2050           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
2051           is required. Part of the grand scheme in #170777.
2052
2053 2005-09-22  Andy Wingo  <wingo@pobox.com>
2054
2055         * gst/gstconfig.h.in: Psych out gtk-doc.
2056
2057         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
2058
2059         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
2060
2061         * tools/gst-inspect.c (print_element_list): Plug some
2062         inconsequential leaks.
2063
2064         * gst/gstregistry.c (gst_registry_get_default): Doc.
2065
2066         * check/gst/gstplugin.c: 
2067         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
2068         * gst/gstelementfactory.c (gst_element_factory_create): 
2069         * gst/gstindexfactory.c (gst_index_factory_create): Update for
2070         refcount changes.
2071
2072         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
2073         (gst_plugin_feature_load): Doc, don't eat refs.
2074
2075         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
2076         (gst_plugin_list_free): Doc.
2077         (gst_plugin_load_file): Doc updates.
2078
2079         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
2080         accessors returning refcounted objects, return a ref.
2081
2082         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
2083         accessor for caps. IDEMPOTENCE. Oh yes.
2084
2085 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
2086
2087         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2088
2089         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
2090         (_gst_debug_register_funcptr):
2091           Add mutex to serialise access to the hash table with
2092           the function pointer => function name string mapping;
2093           make that hash table static scope (#316809).
2094
2095         * gst/registries/.cvsignore:
2096           Remove left-over file.
2097
2098 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
2099
2100         * docs/pwg/appendix-porting.xml:
2101           And something about newsegment events and caps-on-buffers to
2102           the porting guide (feel free to improve).
2103
2104 2005-09-21  Andy Wingo  <wingo@pobox.com>
2105
2106         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
2107         data and event probes on the same pad.
2108         (test_buffer_probe_once): Test that removing probes from within
2109         the probe functions works.
2110
2111 2005-09-21  Andy Wingo  <wingo@pobox.com>
2112
2113         * check/gst/gstutils.c: New file.
2114         (test_buffer_probe_n_times): A simple buffer probe test. More to
2115         come, foolios.
2116
2117         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
2118         have-data::buffer, not have-data.
2119         (gst_pad_add_event_probe): Likewise for have-data::event.
2120         (gst_pad_add_data_probe): More docs. The part about 'resolving the
2121         peer' isn't quite right yet though.
2122         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
2123         (gst_pad_remove_data_probe): Change to take the guint handler_id
2124         as their arg, not the function+data, which is more glib-like.
2125
2126         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
2127         the signal emission to indicate if the data is a buffer or an
2128         event.
2129         (gst_pad_get_type): Initialize buffer and event quarks.
2130         (gst_pad_class_init): have-data is now a detailed signal, yes it
2131         is.
2132
2133 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
2134
2135         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
2136         * gst/gstutils.c: (gst_util_set_value_from_string),
2137         (gst_util_set_object_arg):
2138           Don't put functional code in g_return_if_fail() or
2139           g_return_val_if_fail() statements, otherwise things will 
2140           break when G_DISABLE_CHECKS is defined during compilation.
2141
2142 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2143
2144         * docs/gst/tmpl/.cvsignore:
2145         * docs/gst/tmpl/gstvalue.sgml:
2146         * gst/gstvalue.c:
2147         * gst/gstvalue.h:
2148           inlied another one and added  some obvious docs
2149
2150 2005-09-21  Wim Taymans  <wim@fluendo.com>
2151
2152         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2153         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
2154         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
2155         (gst_fdsrc_get_property), (gst_fdsrc_create):
2156         * gst/elements/gstfdsrc.h:
2157         Properly implement fdsrc. Removed signal and timeout,
2158         better implemented somewhere else.
2159
2160 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2161
2162         * docs/gst/tmpl/.cvsignore:
2163         * docs/gst/tmpl/gstimplementsinterface.sgml:
2164         * gst/gstinterface.c:
2165           inlined more docs
2166
2167 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2168
2169         * docs/gst/gstreamer-sections.txt:
2170         * docs/gst/tmpl/.cvsignore:
2171         * docs/gst/tmpl/gstenumtypes.sgml:
2172           remove obsolete doc file
2173
2174 2005-09-21  David Schleef  <ds@schleef.org>
2175
2176         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
2177         little beer, fix a little leak.
2178
2179 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2180
2181         * docs/gst/gstreamer-docs.sgml:
2182         * docs/gst/gstreamer-sections.txt:
2183         * docs/gst/tmpl/.cvsignore:
2184         * gst/Makefile.am:
2185         * gst/gst.h:
2186         * gst/gstbin.c:
2187         * gst/gstelement.h:
2188         * gst/gstindex.c: (gst_index_class_init):
2189         * gst/gstindex.h:
2190         * gst/gstindexfactory.c: (gst_index_factory_get_type),
2191         (gst_index_factory_class_init), (gst_index_factory_init),
2192         (gst_index_factory_finalize), (gst_index_factory_new),
2193         (gst_index_factory_destroy), (gst_index_factory_find),
2194         (gst_index_factory_create), (gst_index_factory_make):
2195         * gst/gstindexfactory.h:
2196         * gst/gstpluginfeature.c:
2197         * gst/gstpluginfeature.h:
2198         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2199           more docs inlined, splitted gstindex.{c,h}
2200
2201 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2202
2203         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2204           fix a leak
2205
2206 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
2207
2208         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2209           Set sync to FALSE by default.
2210
2211 2005-09-20  Wim Taymans  <wim@fluendo.com>
2212
2213         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2214         (gst_base_sink_init):
2215         Make sync property settable from subclass.
2216
2217         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
2218         (gst_fake_sink_change_state):
2219         Set sync to FALSE by default.
2220
2221 2005-09-20  Wim Taymans  <wim@fluendo.com>
2222
2223         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
2224         * tools/gst-launch.c: (main):
2225         The timeout handler should have lower priority than the source
2226         so we don't timeout before popping a message with 0 timeout.
2227         Dump error messages after failed state change.
2228
2229 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
2230
2231         * tools/gst-inspect.c: (print_element_properties_info):
2232           Fix two typos.
2233
2234 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2235
2236         * check/gst/gstevent.c:
2237         * gst/elements/gstfakesink.c:
2238         * gst/elements/gstfakesink.h:
2239           remove the sync property from fakesink.
2240           has the side effect of setting sync TRUE
2241           for fakesink, which is a change.  Anyone who knows how
2242           to fix this nicely in a GObject-y way, feel free.
2243
2244 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
2245
2246         * docs/gst/gstreamer-docs.sgml:
2247           remove probe refsection
2248
2249 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
2250
2251         * check/Makefile.am:
2252           disable valgrinding the controller test again
2253         * docs/gst/gstreamer-sections.txt:
2254           update for api-changes
2255
2256 2005-09-20  Wim Taymans  <wim@fluendo.com>
2257
2258         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2259         (gst_base_sink_set_property), (gst_base_sink_get_property),
2260         (gst_base_sink_do_sync):
2261         * gst/base/gstbasesink.h:
2262         Added sync property to basesink to disable clock sync.
2263
2264 2005-09-20  Andy Wingo  <wingo@pobox.com>
2265
2266         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
2267         eating the caller's refcount.
2268
2269         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
2270         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
2271         refcount.
2272
2273         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
2274         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
2275         of GLib 2.8 public, so we can know which refcount to check in
2276         tests.
2277
2278         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
2279         (gst_object_init): Only set the gst refcount if we're going ahead
2280         with the refcount hack.
2281
2282 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
2283
2284         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
2285         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2286           more leaks plumbed, added more debug-logging
2287         * gst/gstmacros.h:
2288           whitespace fix
2289
2290 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2291
2292         * gst/gstmessage.c:
2293           remove include of gstmemchunk.h
2294
2295 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2296
2297         * gst/gstclock.c: (_gst_clock_id_free):
2298           Commit from the Political Party For More Atomic CVS Commits,
2299           so that people don't waste too much of their day fishing
2300           out obvious leaks out of massive commits.
2301           Oh, and fix a pretty damn obvious leak in the memchunk
2302           removal code.
2303
2304 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
2305
2306         * check/Makefile.am:
2307         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
2308           plug mem-leak, re-add to valgrindable tests
2309
2310 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2311
2312         * gst/gstplugin.h:
2313           unbreak the build for those who have chronic arthritis
2314           and typing "make check" is just too taxing on the hands
2315
2316 2005-09-20  Andy Wingo  <wingo@pobox.com>
2317
2318         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
2319         really want it out, you should fix plugins at the same time.
2320
2321 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
2322
2323         * configure.ac:
2324         * docs/gst/gstreamer-sections.txt:
2325         * gst/gstobject.c:
2326           added missing symbols to api docs
2327           disable ref-count hack if we have glib >= 2.8
2328
2329 2005-09-19  David Schleef  <ds@schleef.org>
2330
2331         * docs/gst/Makefile.am: Ignore a few more internal headers
2332         * docs/gst/gstreamer-docs.sgml: Remove old sections
2333         * docs/gst/gstreamer-sections.txt: Remove old sections
2334         * docs/gst/tmpl/gstobject.sgml: update
2335         * docs/gst/tmpl/gstplugin.sgml: update
2336         * docs/gst/tmpl/gstpluginfeature.sgml: update
2337         * docs/random/ds/0.9-suggested-changes: update.
2338         * gst/Makefile.am: remove memchunk and trashstack, since they're
2339           not used.
2340         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
2341         * gst/gst.h: don't include some headers
2342         * gst/gstchildproxy.c: add gstmarshal.h
2343         * gst/gstclock.c: Don't use memchunks
2344         * gst/gstminiobject.c: Add some docs
2345         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
2346         * gst/gstobject.h: same
2347         * gst/gstplugin.c: include gstmacros.h
2348         * gst/gstplugin.h: don't include gstmacros.h, since it's private
2349         * gst/gstquery.c: don't use memchunks
2350         * gst/gstregistry.c: rename gst_registry_deinit()
2351         * gst/gstregistry.h: same
2352
2353 2005-09-19  David Schleef  <ds@schleef.org>
2354
2355         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
2356         * docs/libs/gstreamer-libs-sections.txt:
2357         * docs/libs/tmpl/gstgetbits.sgml:
2358         * docs/libs/tmpl/gstputbits.sgml:
2359
2360 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
2361
2362         * win32/gstenumtypes.c:
2363         * win32/gstenumtypes.h:
2364           Update.
2365
2366 2005-09-19  Wim Taymans  <wim@fluendo.com>
2367
2368         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
2369         Automatically PAUSE and RESUME a pipeline when a flushing seek
2370         is performed.
2371
2372 2005-09-19  Andy Wingo  <wingo@pobox.com>
2373
2374         * gst/gstregistry.h: Spacing fixen.
2375
2376 2005-09-19  Wim Taymans  <wim@fluendo.com>
2377
2378         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
2379         Handle state change failure more correctly.
2380
2381 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2382
2383         * check/Makefile.am:
2384         * check/pipelines/cleanup.c: (run_pipeline):
2385         * check/pipelines/simple_launch_lines.c: (run_pipeline),
2386         (GST_START_TEST):
2387           enable cleanup again after fixing the leak
2388         * docs/README:
2389           some more info on docs
2390
2391 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2392
2393         * check/Makefile.am:
2394           re-enable tests now that leaks are plugged
2395         * check/gst/gst.c:
2396         * check/gst/gstbin.c:
2397         * check/gst/gstpipeline.c:
2398           add some more tests while fixing leaks
2399         * common/check.mak:
2400           make sure binaries are uptodate when valgrinding/gdbing
2401         * gst/gst.c:
2402         * gst/gstelementfactory.c:
2403           remove a ref too many, and add a FIXME for when we get
2404           round to disposing of classes
2405         * gst/gstplugin.c:
2406           fix the refcounting when loading a plugin from a file and
2407           the code pretends that the pointer is the same even though
2408           of course it can change
2409         * gst/gstpluginfeature.c:
2410           unref plugins marked cached (a bit confusing as a name)
2411           as the docs state should be done
2412           various doc additions to explain refcounting
2413         * gst/gstregistry.c:
2414         * gst/gstregistryxml.c:
2415           debugging
2416
2417 2005-09-19  Wim Taymans  <wim@fluendo.com>
2418
2419         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2420         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
2421         (send_messages), (GST_START_TEST), (gstbus_suite):
2422         * check/gst/gstpipeline.c: (GST_START_TEST):
2423         * check/pipelines/cleanup.c: (run_pipeline):
2424         * check/pipelines/simple_launch_lines.c: (run_pipeline),
2425         (GST_START_TEST):
2426         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
2427         (gst_bus_source_check), (gst_bus_source_dispatch),
2428         (gst_bus_create_watch), (gst_bus_add_watch_full),
2429         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
2430         * gst/gstbus.h:
2431         * tools/gst-launch.c: (event_loop):
2432         * tools/gst-md5sum.c: (event_loop):
2433         GstBusHandler -> GstBusFunc, return value has the same meaning as
2434         any other GSource (FALSE == remove source).
2435         _add_watch() and _add_watch_full() now take a MessageType mask to
2436         only handle specific types of messages.
2437         _poll() returns the GstMessage instead of the message type to avoid
2438         race conditions.
2439         _have_pending() takes a MessageType mask now too.
2440         Added testsuite for multiple bus watches.
2441         Fix testsuites and applications for new bus API.
2442
2443 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2444
2445         * check/Makefile.am:
2446           mark a bunch of the tests as to fix until we fix them
2447
2448 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2449
2450         * common/check.mak:
2451           use GST_PLUGIN settings for valgrind tests as well, so we're
2452           valgrinding the correct thing
2453         * gst/gst.c: (init_post):
2454           plug another leak
2455
2456 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2457
2458         * gst/gst.c: (init_post), (gst_deinit):
2459         * gst/gstelementfactory.c: (gst_element_factory_class_init),
2460         (gst_element_factory_finalize), (gst_element_factory_cleanup):
2461         * gst/gstindex.c: (gst_index_factory_class_init),
2462         (gst_index_factory_finalize):
2463         * gst/gstobject.c: (gst_object_dispose):
2464         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2465         (gst_plugin_load_file), (gst_plugin_desc_free):
2466         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
2467         (gst_plugin_feature_finalize):
2468         * gst/gstregistry.c: (gst_registry_class_init),
2469         (gst_registry_init), (gst_registry_finalize),
2470         (gst_registry_get_default), (gst_registry_deinit):
2471         * gst/gstregistry.h:
2472         * gst/gstregistryxml.c: (load_feature), (load_plugin):
2473           various cleanups and memleak plugging.  make valgrind is happy now.
2474
2475 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2476
2477         * common/check.mak:
2478           add a check-valgrind target
2479
2480 2005-09-18  David Schleef  <ds@schleef.org>
2481
2482         * tools/gst-inspect.c: Revert the GOption code.
2483
2484 2005-09-17  David Schleef  <ds@schleef.org>
2485
2486         * check/Makefile.am: Fix environment variables.
2487         * check/gst/gstplugin.c: Fix for API changes.
2488         * tools/gst-inspect.c: Fix for API changes.
2489         * tools/gst-xmlinspect.c: Fix for API changes.
2490         * gst/gstelementfactory.c:
2491         * gst/gstplugin.c:
2492         * gst/gstplugin.h:
2493         * gst/gstpluginfeature.c:
2494         * gst/gstpluginfeature.h:
2495         * gst/gstregistry.c:
2496         * gst/gstregistry.h:
2497         * gst/gstregistryxml.c:
2498         * gst/gsttypefind.c:
2499         * gst/gsttypefindfactory.c:
2500         * gst/indexers/gstfileindex.c:
2501         * gst/indexers/gstmemindex.c:
2502         * gst/schedulers/Makefile.am:
2503           Change registry to keep track of both plugins and features,
2504           removing the feature tracking from plugins themselves.
2505
2506 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2507
2508         * check/Makefile.am:
2509         * tools/gst-register.1.in:
2510           remove gst-register
2511
2512 2005-09-15  David Schleef  <ds@schleef.org>
2513
2514         * check/gst/gstplugin.c:
2515         * gst/gstelementfactory.c:
2516         * gst/gstplugin.c:
2517         * gst/gstpluginfeature.c:
2518         * gst/gstregistry.c:
2519           Getting tired of debugging.  Disabled all the unreffing of
2520           plugins and features, which fixes the segfaults, but of
2521           course leaks like crazy.  At least playbin works.
2522
2523 2005-09-15  David Schleef  <ds@schleef.org>
2524
2525         * check/gst/gstplugin.c: (register_check_elements),
2526         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
2527         More testing
2528         * gst/elements/gsttypefindelement.c: Fix refcounting.
2529         * gst/gsttypefind.c:
2530         * gst/gsttypefindfactory.c:
2531         * gst/gsttypefindfactory.h:
2532
2533 2005-09-15  David Schleef  <ds@schleef.org>
2534
2535         * gst/gstindex.c: get refcounting correct.
2536         * gst/gstregistry.c: Handle the case where a feature/plugin is
2537           not found.
2538
2539 2005-09-15  David Schleef  <ds@schleef.org>
2540
2541         * check/Makefile.am:
2542         * check/gst/gstplugin.c: Add test
2543         * gst/gstplugin.c: Fix problems noticed by testsuite
2544         * gst/gstplugin.h:
2545         * gst/gstregistry.c: 
2546         * gst/gstregistry.h:
2547
2548 2005-09-15  David Schleef  <ds@schleef.org>
2549
2550         * gst/gstplugin.c: Implement semi-decent recounting and locking
2551           in plugins and plugin features.
2552         * gst/gstplugin.h:
2553         * gst/gstpluginfeature.c:
2554         * gst/gstpluginfeature.h:
2555         * gst/gstregistry.c:
2556
2557 2005-09-15  Michael Smith <msmith@fluendo.com>
2558
2559         * gst/gstregistry.c: (gst_registry_get_feature_list):
2560           Implement this. Makes oggdemux work; decodebin still broken.
2561
2562 2005-09-14  David Schleef  <ds@schleef.org>
2563
2564         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
2565           #316076)
2566         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
2567         * gst/check/Makefile.am:
2568         * libs/gst/controller/Makefile.am:
2569         * libs/gst/dataprotocol/Makefile.am:
2570
2571 2005-09-14  David Schleef  <ds@schleef.org>
2572
2573         * configure.ac: Remove getbits library.  Nothing uses it, and
2574           it should be in something like liboil if someone did want
2575           to use it.
2576         * libs/gst/Makefile.am:
2577         * libs/gst/getbits/Makefile.am:
2578         * libs/gst/getbits/gbtest.c:
2579         * libs/gst/getbits/getbits.c:
2580         * libs/gst/getbits/getbits.h:
2581         * libs/gst/getbits/gstgetbits_generic.c:
2582         * libs/gst/getbits/gstgetbits_i386.s:
2583         * libs/gst/getbits/gstgetbits_inl.h:
2584
2585 2005-09-14  David Schleef  <ds@schleef.org>
2586
2587         * gst/Makefile.am: Dist glib-compat.h
2588
2589 2005-09-14  David Schleef  <ds@schleef.org>
2590
2591         * configure.ac: Remove gst/registries, since it's no longer used.
2592         * gst/registries/Makefile.am:
2593         * gst/registries/gstlibxmlregistry.c:
2594         * gst/registries/gstlibxmlregistry.h:
2595         * gst/registries/gstxmlregistry.c:
2596         * gst/registries/gstxmlregistry.h:
2597         * gst/registries/registrytest.c:
2598
2599 2005-09-14  David Schleef  <ds@schleef.org>
2600
2601         * gst/glib-compat.h:
2602         * gst/gstregistryxml.c:
2603           Convergence is near.  Seriously.
2604
2605 2005-09-14  David Schleef  <ds@schleef.org>
2606
2607         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2608         * gst/glib-compat.h:
2609           Attempt #4 to appease the buildbots.
2610
2611 2005-09-14  David Schleef  <ds@schleef.org>
2612
2613         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2614           Attempt #3.
2615
2616 2005-09-14  David Schleef  <ds@schleef.org>
2617
2618         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2619         Attempt #2.
2620
2621 2005-09-14  David Schleef  <ds@schleef.org>
2622
2623         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
2624           the new functions.
2625
2626 2005-09-14  David Schleef  <ds@schleef.org>
2627
2628         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2629         * gst/glib-compat.h: Add some functions that are in newer versions
2630           of glib than we care to require.
2631         * gst/gstregistryxml.c: Use them.
2632
2633 2005-09-14  David Schleef  <ds@schleef.org>
2634
2635         * po/POTFILES.in: remove gst-register.c
2636
2637 2005-09-14  David Schleef  <ds@schleef.org>
2638
2639         * docs/gst/gstreamer-docs.sgml:
2640         * docs/gst/gstreamer-sections.txt:
2641         * docs/gst/gstreamer.types:
2642         * docs/gst/tmpl/gstelement.sgml:
2643         * docs/gst/tmpl/gstplugin.sgml:
2644         * docs/gst/tmpl/gstpluginfeature.sgml:
2645           Documentation updates for registry changes.
2646
2647 2005-09-14  David Schleef  <ds@schleef.org>
2648
2649         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
2650           because we don't require glib-2.8.
2651
2652 2005-09-14  David Schleef  <ds@schleef.org>
2653
2654         * gst/gstregistryxml.c: Added.  Essentially moved out of the
2655           registries directory.
2656
2657 2005-09-14  David Schleef  <ds@schleef.org>
2658
2659         * check/Makefile.am:
2660         * check/generic/states.c:
2661         * gst/Makefile.am:
2662         * gst/gst.c:
2663         * gst/gst.h:
2664         * gst/gst_private.h:
2665         * gst/gstelementfactory.c:
2666         * gst/gstindex.c:
2667         * gst/gstinfo.c:
2668         * gst/gstplugin.c:
2669         * gst/gstplugin.h:
2670         * gst/gstpluginfeature.c:
2671         * gst/gstpluginfeature.h:
2672         * gst/gstregistry.c:
2673         * gst/gstregistry.h:
2674         * gst/gstregistrypool.c: remove
2675         * gst/gstregistrypool.h: remove
2676         * gst/gsttypefind.c:
2677         * gst/gsttypefindfactory.c:
2678         * gst/gsturi.c:
2679         * tools/Makefile.am:
2680         * tools/gst-compprep.c:
2681         * tools/gst-inspect.c:
2682         * tools/gst-register.c: remove
2683         * tools/gst-xmlinspect.c:
2684           Registry rewrite.  Changes registry from being a file created
2685           by a tool into a simple cache file created automatically by 
2686           libgstreamer.  Removed gst-register (because it's no longer
2687           needed).  Remove registry pools, because we only have one
2688           registry implementation (XML).  Fix up other subsystems as
2689           necessary.
2690
2691 2005-09-13  Michael Smith <msmith@fluendo.com>
2692
2693         * gst/gstconfig.h.in:
2694           Don't Use windows linking attributes for MinGW. Fixes #316157
2695
2696 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2697
2698         * gst/gstutils.c: (set_state_async_thread_func),
2699         (gst_element_set_state_async):
2700           Apparently people think it's better if this function doesn't
2701           try to set the state to whatever state was asked for on the first
2702           call to this function for any object.  Seriously.
2703
2704 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2705
2706         * check/gst/gstpipeline.c: (GST_START_TEST):
2707         * docs/gst/gstreamer-sections.txt:
2708         * gst/gstutils.c: (set_state_async_thread_func),
2709         (gst_element_set_state_async):
2710         * gst/gstutils.h:
2711           add a "gst_element_set_state_async" method that
2712           sets the state and starts a thread to make sure the state
2713           change completes as best as it can
2714
2715 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2716
2717         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2718           codify design+behaviour in testsuite after discussion
2719
2720 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2721
2722         * docs/gst/tmpl/gstelement.sgml:
2723         * docs/manual/appendix-quotes.xml:
2724           add a quote
2725         * gst/gstelement.c: (gst_element_set_state):
2726           add some debug
2727
2728 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
2729
2730         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2731         (gst_base_transform_prepare_output_buf),
2732         (gst_base_transform_handle_buffer):
2733         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
2734         (gst_capsfilter_prepare_buf):
2735           Remove the requirement for sub-classes to call the parent
2736           implementation of prepare_output_buffer with a wrapper function.
2737           
2738         * gst/gsttaglist.h:
2739         * gst/gsttagsetter.h:
2740           Fix #define wrapper
2741
2742 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
2743
2744         * docs/gst/gstreamer-sections.txt:
2745           more doc cleanups
2746
2747 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2748
2749         * docs/gst/gstreamer-sections.txt:
2750         * docs/gst/tmpl/gstelement.sgml:
2751         * docs/gst/tmpl/gstplugin.sgml:
2752         * gst/gstminiobject.c:
2753         * gst/gstvalue.h:
2754           docs now stop throwing warnings
2755
2756 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2757
2758         * docs/gst/gstreamer-sections.txt:
2759         * docs/gst/gstreamer.types:
2760         * docs/gst/tmpl/gstpad.sgml:
2761         * docs/gst/tmpl/gsttypes.sgml:
2762         * gst/base/gstadapter.h:
2763         * gst/base/gstbasesink.h:
2764         * gst/base/gstbasesrc.h:
2765         * gst/gstbin.h:
2766         * gst/gstbuffer.h:
2767         * gst/gstbus.h:
2768         * gst/gstcaps.h:
2769         * gst/gstclock.h:
2770         * gst/gstelement.h:
2771         * gst/gstevent.h:
2772         * gst/gstmessage.h:
2773         * gst/gstpad.h:
2774         * gst/gststructure.c:
2775         * gst/registries/gstlibxmlregistry.h:
2776           various documentation fixes
2777
2778 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2779
2780         * docs/gst/gstreamer-sections.txt:
2781         * docs/gst/tmpl/gstvalue.sgml:
2782           rearrange gstvalue section
2783         * gst/gstutils.c: (gst_element_state_get_name):
2784           NONE -> VOID
2785         * gst/gstvalue.c: (_gst_value_initialize):
2786         * gst/gstvalue.h:
2787           doc updates
2788
2789 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
2790
2791         * check/gst-libs/controller.c:
2792           Header include fix.
2793         * gst/base/gstbasetransform.c:
2794         (gst_base_transform_default_prepare_buf),
2795         (gst_base_transform_handle_buffer):
2796         * gst/base/gstbasetransform.h:
2797           Some more basetransform changes and fixes to enable sub-classes
2798           that modify buffer metadata only.
2799         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2800         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
2801         (gst_capsfilter_prepare_buf):
2802           If the output pad has fixed allowed caps and input buffers 
2803           don't have any, set the fixed caps on outgoing buffers.
2804
2805 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
2806         * check/elements/identity.c: (GST_START_TEST):
2807           Make the error a little clearer when the test fails because
2808           identity made a copy of the buffer.
2809         * docs/gst/gstreamer-sections.txt:
2810           New symbols in gstbasetransform.h
2811         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2812         (gst_base_transform_init), (gst_base_transform_transform_size),
2813         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2814         (gst_base_transform_default_prepare_buf),
2815         (gst_base_transform_get_unit_size),
2816         (gst_base_transform_buffer_alloc),
2817         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2818         (gst_base_transform_change_state),
2819         (gst_base_transform_set_passthrough),
2820         (gst_base_transform_set_in_place),
2821         (gst_base_transform_is_in_place):
2822         * gst/base/gstbasetransform.h:
2823           Change BaseTransform to separate in_place operate from same_caps
2824           output. in_place implies that the element can perform the transform
2825           on incoming buffers in-place, even if the caps on the output are
2826           different.
2827           Sub-class elements can now implement special buffer allocation
2828           methods for outgoing buffers if they wish to.
2829           Big documentation addition.
2830         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
2831         * gst/elements/gstelements.c:
2832           Changes for basetransform modifications.
2833         * gst/elements/Makefile.am:
2834         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
2835           Compile fix. Extra debug output.
2836
2837 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2838
2839         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
2840         (gst_pad_suite):
2841           add tests for valid pad naming
2842         * gst/check/gstcheck.c: (gst_check_log_message_func),
2843         (gst_check_log_critical_func):
2844           add ASSERT_WARNING
2845           remove printing of code, it is fragile when the code contains
2846           % and the line number is enough info
2847         * gst/check/gstcheck.h:
2848         * gst/gstpad.c: (gst_pad_template_new):
2849           fix memleaks
2850
2851 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2852
2853         * configure.ac:
2854           say what CHECK flags we use
2855         * docs/libs/gstreamer-libs.types:
2856         * libs/gst/controller/Makefile.am:
2857         * libs/gst/controller/gst-controller.c:
2858         * libs/gst/controller/gst-controller.h:
2859         * libs/gst/controller/gst-helper.c:
2860         * libs/gst/controller/gst-interpolation.c:
2861         * libs/gst/controller/gstcontroller.c:
2862         * libs/gst/controller/gsthelper.c:
2863         * libs/gst/controller/gstinterpolation.c:
2864         * tools/gst-inspect.c: (print_plugin_info):
2865           we don't use dashes in header names
2866
2867 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2868
2869         * check/Makefile.am:
2870         * check/gst/.cvsignore:
2871         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
2872         (gst_pipeline_suite), (main):
2873           adding a test for pipelines and state changes
2874         * gst/gstutils.c: (get_state_func):
2875           add some debugging
2876         * gstreamer.spec.in:
2877           fix up spec file
2878
2879 2005-09-08  Michael Smith <msmith@fluendo.com>
2880
2881         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
2882         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
2883         (gst_file_src_is_seekable), (gst_file_src_get_size),
2884         (gst_file_src_start):
2885         * gst/elements/gstfilesrc.h:
2886           Various fixes for unseekable, unmmapable, and non-normal files, so
2887           that fallback to read() rather than mmap() works.
2888         * gst/gstevent.c: (gst_event_new_newsegment):
2889           Allow newsegment events with segment_start == segment_end, as will
2890           correctly happen if you use filesrc on a zero-size file, for
2891           example.
2892
2893 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
2894
2895         * gst/gstplugin.c: (gst_plugin_load_file):
2896           Call g_module_close when we don't load the module
2897
2898         * gst/registries/gstlibxmlregistry.c:
2899         (gst_xml_registry_get_property):
2900           Port leak fix from 0.8
2901
2902 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2903
2904         * docs/gst/gstreamer-docs.sgml:
2905         * docs/gst/tmpl/.cvsignore:
2906         * docs/gst/tmpl/gsttrace.sgml:
2907         * docs/gst/tmpl/gsttrashstack.sgml:
2908         * gst/Makefile.am:
2909         * gst/gst.h:
2910         * gst/gstelement.h:
2911         * gst/gstevent.h:
2912         * gst/gstmessage.c:
2913         * gst/gstmessage.h:
2914         * gst/gsttag.c:
2915         * gst/gsttag.h:
2916         * gst/gsttaginterface.c:
2917         * gst/gsttaginterface.h:
2918         * gst/gsttaglist.c:
2919         * gst/gsttaglist.h:
2920         * gst/gsttagsetter.c:
2921         * gst/gsttagsetter.h:
2922         * gst/gsttrace.c:
2923         * gst/gsttrace.h:
2924         * gst/gsttrashstack.c:
2925           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
2926           inlined docs for gsttrace, gsttrashstack
2927
2928 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2929
2930         * gst/Makefile.am:
2931         * gst/elements/gstbufferstore.h:
2932         * gst/elements/gsttypefindelement.c:
2933         * gst/elements/gsttypefindelement.h:
2934         * gst/gst.h:
2935         * gst/gsttypefind.c:
2936         * gst/gsttypefind.h:
2937         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
2938         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
2939         (gst_type_find_factory_dispose),
2940         (gst_type_find_factory_unload_thyself),
2941         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
2942         (gst_type_find_factory_get_caps),
2943         (gst_type_find_factory_get_extensions),
2944         (gst_type_find_factory_call_function):
2945         * gst/gsttypefindfactory.h:
2946         * gst/registries/gstlibxmlregistry.c:
2947         * gst/registries/gstxmlregistry.c:
2948           splitted gsttypefind into gsttypefind, gsttypefindfactory
2949
2950 2005-09-07  Andy Wingo  <wingo@pobox.com>
2951
2952         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
2953         condition whereby the pad's task function is entered before the
2954         pad_mode variable was set.
2955
2956 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
2957
2958         * gst/gstpad.c: (gst_pad_alloc_buffer):
2959           Catch misbehaving pad_alloc functions that don't
2960           set up caps and do it for them.
2961
2962 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2963
2964         * check/pipelines/simple_launch_lines.c: (run_pipeline):
2965           test for pipe!=NULL
2966         * docs/gst/tmpl/.cvsignore:
2967         * docs/gst/tmpl/gstmemchunk.sgml:
2968         * docs/gst/tmpl/gstparse.sgml:
2969         * docs/gst/tmpl/gsttaglist.sgml:
2970         * docs/gst/tmpl/gsttagsetter.sgml:
2971         * docs/gst/tmpl/gsttypefind.sgml:
2972         * docs/gst/tmpl/gsttypefindfactory.sgml:
2973         * gst/gstmemchunk.c:
2974         * gst/gstparse.c:
2975         * gst/gsttag.c:
2976         * gst/gsttaginterface.c:
2977         * gst/gsttypefind.c:
2978         * gst/gsttypefind.h:
2979           inlined more docs
2980
2981 === release 0.9.2 ===
2982
2983 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2984
2985         * NEWS:
2986         * RELEASE:
2987         * configure.ac:
2988           releasing 0.9.2, "South"
2989
2990 2005-09-05  Andy Wingo  <wingo@pobox.com>
2991
2992         * gst/registries/gstxmlregistry.h:
2993         * gst/registries/gstxmlregistry.c: Um... resurrect...
2994         
2995         * gst/registries/gstxmlregistry.h:
2996         * gst/registries/gstxmlregistry.c: and update to newer API.
2997         Incidentally they should be a bit faster now that they don't have
2998         to parse the caps.
2999         
3000 2005-09-05  Andy Wingo  <wingo@pobox.com>
3001
3002         * gst/registries/gstxmlregistry.h:
3003         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
3004         replaced by the libxml registry a while back
3005
3006 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3007
3008         * docs/gst/tmpl/gstplugin.sgml:
3009         * gst/elements/gstelements.c:
3010         * gst/gst.c:
3011         * gst/gstplugin.c: (gst_plugin_register_func),
3012         (gst_plugin_desc_copy), (gst_plugin_desc_free),
3013         (gst_plugin_get_source):
3014         * gst/gstplugin.h:
3015         * gst/registries/gstlibxmlregistry.c: (load_plugin),
3016         (gst_xml_registry_save_plugin):
3017         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
3018         (gst_xml_registry_save_plugin):
3019         * tools/gst-inspect.c: (print_plugin_info):
3020           add a "source" plugin description field, to represent the source
3021           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
3022           will set it to PACKAGE, which is automake's idea of the name of
3023           the source project.
3024
3025 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3026
3027         * Makefile.am:
3028         * autogen.sh:
3029         * configure.ac:
3030         * docs/Makefile.am:
3031         * docs/faq/Makefile.am:
3032         * docs/gst/tmpl/gstelement.sgml:
3033         * docs/gst/tmpl/gsttypes.sgml:
3034         * docs/htmlinstall.mak:
3035         * docs/manual/Makefile.am:
3036         * docs/pwg/Makefile.am:
3037           reorganize doc build a little
3038           split out docbook and gtk-doc stuff
3039           have two separate --enable's and enable them through autogen
3040           but disable by default in configure (to be similar to other
3041           projects)
3042         * gstreamer.spec.in:
3043           clean up docs install
3044         * po/af.po:
3045         * po/az.po:
3046         * po/ca.po:
3047         * po/cs.po:
3048         * po/de.po:
3049         * po/en_GB.po:
3050         * po/fr.po:
3051         * po/it.po:
3052         * po/nb.po:
3053         * po/nl.po:
3054         * po/ru.po:
3055         * po/sq.po:
3056         * po/sr.po:
3057         * po/sv.po:
3058         * po/tr.po:
3059         * po/uk.po:
3060         * po/vi.po:
3061           translation updates
3062
3063 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3064
3065         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
3066           Add comment.
3067           
3068         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
3069         (gst_fake_sink_change_state):
3070           Make state change function thread-safe.
3071           
3072         * gst/gstpad.c: (gst_pad_alloc_buffer):
3073           Set offset on generic buffer allocated by fallback.
3074
3075 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
3076
3077         * docs/gst/gstreamer-sections.txt:
3078         * docs/gst/tmpl/gstelement.sgml:
3079         * gst/gstpad.c:
3080         * libs/gst/controller/gst-controller.c:
3081         (gst_controlled_property_set_interpolation_mode),
3082         (gst_controlled_property_new),
3083         (gst_controller_find_controlled_property):
3084          run the wingo-magic script against the docs
3085
3086 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
3087
3088         * docs/gst/gstreamer-docs.sgml:
3089         * docs/gst/gstreamer-sections.txt:
3090         * docs/gst/tmpl/.cvsignore:
3091         * docs/gst/tmpl/gstelementdetails.sgml:
3092         * docs/gst/tmpl/gstelementfactory.sgml:
3093         * gst/gst.c:
3094         * gst/gstbus.c:
3095         * gst/gstelementfactory.c:
3096         * gst/gstelementfactory.h:
3097           merged elementdetails docs into elementfactory docs
3098           inlined both
3099
3100 2005-09-02  Andy Wingo  <wingo@pobox.com>
3101
3102         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
3103         consider this enum an enum and not a flags.
3104
3105 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
3106
3107         * docs/gst/gstreamer-docs.sgml:
3108         * docs/gst/tmpl/.cvsignore:
3109         * docs/gst/tmpl/gstghostpad.sgml:
3110         * docs/gst/tmpl/gstiterator.sgml:
3111         * docs/gst/tmpl/gstmacros.sgml:
3112         * docs/gst/tmpl/gstrealpad.sgml:
3113         * docs/gst/tmpl/gstregistry.sgml:
3114         * docs/gst/tmpl/gstregistrypool.sgml:
3115         * docs/gst/tmpl/gststructure.sgml:
3116         * docs/gst/tmpl/gstsystemclock.sgml:
3117         * docs/gst/tmpl/gsttrace.sgml:
3118         * gst/gstghostpad.c:
3119         * gst/gstmacros.h:
3120         * gst/gstmemchunk.c:
3121         * gst/gstmemchunk.h:
3122         * gst/gstqueue.c:
3123         * gst/gstregistry.c:
3124         * gst/gstregistrypool.c:
3125         * gst/gststructure.c:
3126         * gst/gstsystemclock.c:
3127           more docs inlined
3128
3129 2005-09-02  Andy Wingo  <wingo@pobox.com>
3130
3131         * gst/gstelement.h (GstState): Renamed from GstElementState,
3132         changed to be a normal enum instead of flags.
3133         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
3134         munged to be GST_STATE_CHANGE_*.
3135         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
3136         work with the new state representation.
3137         (GstStateChange): New enumeration of possible state transitions.
3138         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
3139         (GstElementClass::change_state): Pass the GstStateChange along as
3140         an argument. Helps language bindings, so they don't have to use
3141         tricky lock-needing macros like GST_STATE_CHANGE ().
3142
3143         * scripts/update-states (file): New script. Run it on a file to
3144         update it for state naming and API changes. Updates files in
3145         place.
3146
3147         * All files updated for the new API.
3148
3149 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3150
3151         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
3152         * gst/gstutils.c: (gst_util_set_value_from_string),
3153         (gst_util_set_object_arg):
3154           fix a bunch of unchecked return values
3155         * tools/gst-complete.c: (main):
3156         * gstreamer.spec.in:
3157           clean up a little
3158
3159 2005-09-01  Wim Taymans  <wim@fluendo.com>
3160
3161         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3162         (gst_base_sink_event), (gst_base_sink_do_sync),
3163         (gst_base_sink_handle_event):
3164         * gst/base/gstbasesink.h:
3165         Handle newsegments more correctly.
3166
3167         * gst/gstbus.c:
3168         Fix docs.
3169
3170         * gst/gstevent.c: (gst_event_new_newsegment):
3171         A newsegment cannot have a start_time of -1
3172
3173 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3174
3175         * win32/gstenumtypes.c:
3176         * win32/gstenumtypes.h:
3177           Update
3178
3179 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3180
3181         * libs/gst/controller/gst-controller.c:
3182         (gst_controlled_property_set_interpolation_mode),
3183         (gst_controlled_property_new):
3184          fixed boolean again
3185
3186 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3187
3188         * docs/faq/gst-uninstalled:
3189           add -good
3190         * gst/gstevent.c:
3191         * gst/gstevent.h:
3192           remove wrong docs
3193         * gst/gstutils.c: (gst_element_link_filtered):
3194         * gst/gstutils.h:
3195           add gst_element_link_filtered
3196
3197 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3198
3199         * docs/gst/gstreamer-docs.sgml:
3200         * docs/gst/gstreamer-sections.txt:
3201         * docs/gst/tmpl/.cvsignore:
3202         * docs/gst/tmpl/gsterror.sgml:
3203         * docs/gst/tmpl/gstfilter.sgml:
3204         * docs/gst/tmpl/gsturihandler.sgml:
3205         * docs/gst/tmpl/gsturitype.sgml:
3206         * docs/gst/tmpl/gstutils.sgml:
3207         * docs/gst/tmpl/gstxml.sgml:
3208         * gst/gsterror.c:
3209         * gst/gsterror.h:
3210         * gst/gstfilter.c:
3211         * gst/gsturi.c:
3212         * gst/gsturitype.c:
3213         * gst/gstutils.c:
3214         * gst/gstxml.c:
3215           inlined more docs, fixed double id-ref
3216
3217 2005-08-31  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3220         (gst_base_transform_handle_buffer):
3221         Passthrough elements don't need the caps as they don't care.
3222
3223 2005-08-31  Wim Taymans  <wim@fluendo.com>
3224
3225         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3226         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
3227         Don't leak refcounts on buffers.
3228
3229 2005-08-31  Wim Taymans  <wim@fluendo.com>
3230
3231         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
3232         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3233         (gst_base_transform_chain), (gst_base_transform_change_state):
3234         * gst/base/gstbasetransform.h:
3235         Handle the case where we are not negotiated more gracefully.
3236
3237 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
3238
3239         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
3240         (gst_file_src_map_region):
3241           Set READONLY flag on mmap'ed buffers, otherwise
3242           gst_buffer_make_writable() won't work properly (#314708).
3243
3244 2005-08-31  Wim Taymans  <wim@fluendo.com>
3245
3246         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
3247         passthrough elements can even do inplace on non writable
3248         buffers (as they don't touch them).
3249
3250 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3251
3252         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
3253         (gst_test_mono_source_set_property),
3254         (gst_test_mono_source_class_init), (GST_START_TEST),
3255         (gst_controller_suite):
3256           more tests (hehe I have the most)
3257         * gst/gstbus.c:
3258           describe popping messages whenusing mulltiple sources
3259         * libs/gst/controller/gst-controller.c:
3260         (gst_controlled_property_set_interpolation_mode),
3261         (gst_controlled_property_new):
3262         * libs/gst/controller/gst-controller.h:
3263         * libs/gst/controller/gst-interpolation.c:
3264           implement boolean properties
3265
3266 2005-08-31  Wim Taymans  <wim@fluendo.com>
3267
3268         * gst/gstminiobject.c: (gst_mini_object_ref):
3269         Cannot assert that the refcount has to be positive
3270         since a disposed object can be resurrected.
3271
3272 2005-08-31  Wim Taymans  <wim@fluendo.com>
3273
3274         * gst/gstpad.c: (gst_pad_init):
3275         Revert change, need to first fix badly behaving 
3276         apps.
3277
3278 2005-08-30  Wim Taymans  <wim@fluendo.com>
3279
3280         * check/elements/fakesrc.c: (setup_fakesrc):
3281         * check/elements/identity.c: (setup_identity):
3282         Activate pads before using them.
3283
3284 2005-08-30  Wim Taymans  <wim@fluendo.com>
3285
3286         * gst/base/gstadapter.c: (gst_adapter_flush):
3287         Flushing out 0 bytes is ok for this function.
3288
3289         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3290         no newsegment gives a warning and sets the start/stop to 
3291         invalid.
3292
3293         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
3294         (gst_base_transform_set_passthrough):
3295         Some debug info.
3296
3297         * gst/gstminiobject.c: (gst_mini_object_ref):
3298         Check refcount here too.
3299
3300         * gst/gstpad.c: (gst_pad_init):
3301         Pads are initially flushing and refusing data.
3302
3303         * gst/gstutils.c: (gst_element_link_pads_filtered):
3304         When adding a capsfilter element make sure it has the
3305         same state as the parent bin.
3306
3307 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
3308
3309         * docs/gst/tmpl/.cvsignore:
3310         * docs/gst/tmpl/gstformat.sgml:
3311         * docs/gst/tmpl/gstversion.sgml:
3312         * gst/gstbus.h:
3313         * gst/gstformat.c:
3314         * gst/gstformat.h:
3315         * gst/gstversion.h.in:
3316           more docs and two more inlined
3317
3318 2005-08-30  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
3321         Don't sync to clock.
3322
3323 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
3324
3325         * docs/gst/gstreamer-sections.txt:
3326           ultral33t func10ns deserve to appear in the docs actually
3327         * docs/gst/tmpl/.cvsignore:
3328         * docs/gst/tmpl/gstcompat.sgml:
3329         * docs/gst/tmpl/gstconfig.sgml:
3330         * gst/check/gstcheck.c:
3331         * gst/gstcompat.h:
3332         * gst/gstconfig.h.in:
3333           inlined more docs
3334
3335 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
3336
3337         * docs/gst/tmpl/.cvsignore:
3338         * docs/gst/tmpl/gstquery.sgml:
3339         * docs/gst/tmpl/gstutils.sgml:
3340         * gst/gstquery.c:
3341         * gst/gstquery.h:
3342           inlined and extended docs
3343
3344 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
3345
3346         * check/gst-libs/controller.c: (GST_START_TEST),
3347         (gst_controller_suite):
3348           more tests
3349         * docs/gst/tmpl/gstutils.sgml:
3350         * docs/libs/gstreamer-libs-sections.txt:
3351         * docs/libs/tmpl/gstdataprotocol.sgml:
3352           include path fixes
3353         * examples/controller/audio-example.c: (main):
3354           controller example works now
3355         * gst/gstclock.h:
3356           doc fixes
3357         * tools/gst-inspect.c: (print_element_properties_info):
3358           show param spec flags
3359
3360 2005-08-29  Andy Wingo  <wingo@pobox.com>
3361
3362         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
3363
3364 2005-08-28  Andy Wingo  <wingo@pobox.com>
3365
3366         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
3367         as having two arguments instead of just one. Allows superclasses
3368         to access information on subclasses -- see the terrible for() loop
3369         in gtype.c:g_type_create_instance for the reason why. All callers
3370         changed.
3371
3372 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
3373
3374         * docs/design/part-messages.txt:
3375           update info
3376         * docs/gst/tmpl/.cvsignore:
3377         * docs/gst/tmpl/gstcaps.sgml:
3378         * docs/gst/tmpl/gstclock.sgml:
3379         * gst/gstbus.c:
3380         * gst/gstcaps.c:
3381         * gst/gstcaps.h:
3382         * gst/gstclock.c:
3383         * gst/gstclock.h:
3384         * gst/gstmessage.c:
3385           added descriptions for bus and message
3386           inline caps and clock docs
3387
3388 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
3389
3390         * gst/gstmessage.c:
3391         * gst/gstmessage.h:
3392           doc fixes
3393
3394 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
3395
3396         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
3397           fix div-by-zero
3398
3399 2005-08-26  Andy Wingo  <wingo@pobox.com>
3400
3401         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
3402         element_set_state's return val.
3403         (test_2_elements): Add test that's been disabled for months.
3404
3405         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
3406         can-activate-pull properties.
3407
3408         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
3409         can-activate-pull properties. Implement is_seekable so fakesrc can
3410         operate in pull mode.
3411
3412         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
3413         properties.
3414         (gst_base_sink_activate, gst_base_sink_activate_pull)
3415         (gst_base_sink_activate_push): Make activation mode choosing work.
3416         Cleanups.
3417         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
3418         is right. Make pull mode work. Post an eos before pausing in pull
3419         mode.
3420         (gst_base_sink_change_state): Pay attention to the core's
3421         change_state() return val.
3422         
3423         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
3424         has-getrange properties. Cleanups.
3425         
3426         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
3427         has_getrange and replace with can_activate_pull and
3428         can_activate_push.
3429
3430         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
3431         locking comments. Remove has_loop, has_chain and replace with
3432         can_activate_pull and can_activate_push.
3433
3434 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
3435
3436         * configure.ac:
3437         * examples/Makefile.am:
3438         * examples/metadata/Makefile.am:
3439         * examples/metadata/read-metadata.c: (message_loop),
3440         (have_pad_handler), (make_pipeline), (print_tag), (main):
3441           Add metadata reading example that loops over a list of filenames,
3442           dumping any tags found.
3443
3444         * gst/gstbus.c: (gst_bus_dispose):
3445         * gst/gstelement.c: (gst_element_dispose):
3446           Release a few potentially-held references in dispose.
3447
3448 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
3449
3450         * docs/gst/tmpl/gstminiobject.sgml:
3451           do *not* add tmpl/*.sgml files to CVS!
3452
3453 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
3454
3455         * libs/gst/bytestream/.cvsignore:
3456         * libs/gst/bytestream/Makefile.am:
3457         * libs/gst/bytestream/adapter.c:
3458         * libs/gst/bytestream/adapter.h:
3459         * libs/gst/bytestream/bytestream.c:
3460         * libs/gst/bytestream/bytestream.h:
3461         * libs/gst/bytestream/filepad.c:
3462         * libs/gst/bytestream/filepad.h:
3463           removing obsolete files
3464
3465 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
3466
3467         * docs/gst/gstreamer-docs.sgml:
3468         * docs/libs/gstreamer-libs-docs.sgml:
3469           disabed additional index entries again, as this makes docs-gen just
3470           slow and they aren't useful yet
3471         * docs/libs/gstreamer-libs-sections.txt:
3472           little -section.txt cleanup for libs
3473
3474 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
3475
3476         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3477         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
3478           fix up some debugging
3479         (gst_base_transform_get_unit_size),
3480         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
3481         (gst_base_transform_handle_buffer):
3482         * gst/base/gstbasetransform.h:
3483           handle and store timed NEWSEGMENT events so that subclasses that
3484           calculate time by counting samples have a segment_start time they
3485           need to add to their timestamps - see audioresample
3486
3487 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
3488
3489         * gst/gstbin.h:
3490           removed ';' from the end of macro defs
3491         * docs/gst/gstreamer-docs.sgml:
3492         * docs/gst/gstreamer-sections.txt:
3493         * docs/gst/tmpl/.cvsignore:
3494         * gst/gstbus.h:
3495         * gst/gstelement.c: (gst_element_class_init),
3496         (gst_element_set_state), (activate_pads),
3497         (gst_element_save_thyself):
3498         * gst/gstevent.c: (gst_event_new_newsegment):
3499         * gst/gstevent.h:
3500         * gst/gstiterator.c:
3501         * gst/gstiterator.h:
3502         * gst/gstpad.c:
3503         * gst/gstprobe.h:
3504         * gst/gstutils.c: (gst_pad_query_convert):
3505         * gst/gstutils.h:
3506           fixed parameter name mismatches between source, header and docs
3507           added some more docs, resolved the last batch of unused elements in
3508           docs (now someone needs to doc them)
3509
3510 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3511
3512         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
3513         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
3514           don't walk through the plugins backwards.  Where is all this
3515           reversed logic coming from ?
3516
3517 2005-08-25  Wim Taymans  <wim@fluendo.com>
3518
3519         * gst/base/gstbasetransform.c: (gst_base_transform_init),
3520         (gst_base_transform_transform_size),
3521         (gst_base_transform_configure_caps),
3522         (gst_base_transform_get_unit_size),
3523         (gst_base_transform_buffer_alloc),
3524         (gst_base_transform_change_state):
3525         * gst/base/gstbasetransform.h:
3526         Cache caps unit_size.
3527         Make sure we cannot negotiate up and downstream at the
3528         same time.
3529
3530 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3531
3532         * gst/gst.c: (init_pre), (init_post):
3533           register the installed plugin path after the env var
3534         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
3535         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
3536           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
3537           directories, so the tests can prefer uninstalled over installed
3538
3539 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3540
3541         * gst/base/gstbasetransform.h:
3542           comment
3543         * gst/gstpad.c:
3544           add to docs
3545
3546 2005-08-25  Wim Taymans  <wim@fluendo.com>
3547
3548         * gst/gstbin.c: (bin_bus_handler):
3549         Be a bit more conservative about the posted message.
3550         
3551         * gst/gstbus.c: (gst_bus_post):
3552         Some cleanups, warn wrong return values.
3553
3554 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
3555
3556         * check/gst/gstbin.c: (GST_START_TEST):
3557         * gst/gstbin.c: (bin_bus_handler):
3558         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
3559         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
3560         (gst_message_new_warning), (gst_message_new_tag),
3561         (gst_message_new_state_changed), (gst_message_new_segment_start),
3562         (gst_message_new_segment_done), (gst_message_new_custom):
3563         * gst/gstmessage.h:
3564         * tools/gst-launch.c: (event_loop):
3565         * tools/gst-md5sum.c: (event_loop):
3566           Revert unpopular change for GST_MESSAGE_SRC to GObject.
3567
3568 2005-08-25  Wim Taymans  <wim@fluendo.com>
3569
3570         * check/generic/states.c: (GST_START_TEST):
3571         Cleanup can be done at the end.
3572
3573         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
3574         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
3575         (gst_task_get_state), (gst_task_start), (gst_task_pause):
3576         Oh boy.. Thanks for finding this, Thomas. 
3577
3578 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
3579
3580         * docs/gst/gstreamer.types:
3581           added missing types
3582
3583 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
3584
3585         * docs/gst/gstreamer-docs.sgml:
3586         * docs/gst/gstreamer-sections.txt:
3587         * docs/gst/tmpl/.cvsignore:
3588         * gst/gstbin.c:
3589         * gst/gstiterator.c:
3590         * gst/gstutils.c:
3591         * gst/registries/gstxmlregistry.h:
3592           added missing classes and symbols (123 more to go)
3593           removed removed symbols from section file
3594           fixed many doc-comments
3595
3596 2005-08-24  Wim Taymans  <wim@fluendo.com>
3597
3598         * check/generic/states.c: (GST_START_TEST):
3599         Make sure all tasks are stopped.
3600
3601         * check/gst/gstbin.c: (GST_START_TEST):
3602         Unref after usage for proper valgrinding.
3603
3604         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
3605         Really wait for the task to stop before destroying the
3606         mutex.
3607
3608         * gst/gstqueue.c: (gst_queue_sink_activate_push),
3609         (gst_queue_src_activate_push):
3610         Small cleanups. Don't stop the task when we did not start
3611         it.
3612
3613         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
3614         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
3615         (gst_task_get_state), (gst_task_start), (gst_task_pause),
3616         (gst_task_join):
3617         * gst/gsttask.h:
3618         Protect the stream lock with the object lock.
3619         Disallow setting the stream lock when running.
3620         Add cleanup_all to wait for the threadpool to finish.
3621         Remove code to autoallocate a mutex if none was provided.
3622         Add _join() to wait for a task to stop.
3623         Protect the thread pool with a global lock.
3624
3625 2005-08-24  Wim Taymans  <wim@fluendo.com>
3626
3627         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3628         (gst_base_sink_get_times), (gst_base_sink_do_sync),
3629         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
3630         * gst/base/gstbasesink.h:
3631         Handle newsegment events correctly.
3632         Drop buffers out of the segment range.
3633
3634 2005-08-22  Andy Wingo  <wingo@pobox.com>
3635
3636         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
3637         macro, implements an interface and gstimplementsinterface for a
3638         new type.
3639
3640 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3641
3642         * check/Makefile.am:
3643         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
3644           add a test that does a bunch of state changes on elements
3645           needs some fixing for valgrind
3646         * check/states/sinks.c: (gst_object_suite):
3647           whitespace
3648         * gst/gstcaps.h:
3649           add prototype for gst_caps_is_equal_fixed
3650         * gst/gstplugin.c:
3651         * gst/gstregistrypool.c:
3652           doc fixes
3653
3654 2005-08-24  Andy Wingo  <wingo@pobox.com>
3655
3656         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
3657         convert a negative value. Doesn't make much sense. Mostly this is
3658         here to force callers to ensure -1 maps to -1.
3659
3660 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3661
3662         * docs/pwg/advanced-types.xml:
3663           Well done to Michael for catching my deliberate introduction
3664           of this spelling mistake. 
3665         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
3666         * gst/gstelement.h:
3667           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
3668           unlink pads before removing the element from the bin.
3669
3670 2005-08-24  Andy Wingo  <wingo@pobox.com>
3671
3672         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
3673         the same thing as GST_DEBUG=*:4.
3674         (parse_debug_level, parse_debug_category): New helper parsers.
3675
3676 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3677
3678         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3679         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
3680         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
3681         (gst_base_transform_buffer_alloc),
3682         (gst_base_transform_handle_buffer):
3683           use gboolean return values and pointers to size so we can use the
3684           full GST_BUFFER_SIZE range (guint) for buffer sizes
3685           use GstPadDirection for transform_caps
3686         * gst/base/gstbasetransform.h:
3687           rename get_size to get_unit_size since that's what it is
3688         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
3689           use GstPadDirection for transform_caps
3690         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
3691         * gst/gstutils.h:
3692           cleanup and debugging
3693
3694 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
3695
3696         * gst/gstelement.c: (gst_element_class_init),
3697         (gst_element_set_state), (activate_pads),
3698         (gst_element_save_thyself):
3699         * tools/gst-compprep.c: (main):
3700         * tools/gst-inspect.c: (print_element_properties_info):
3701         * tools/gst-xmlinspect.c: (print_element_properties):
3702           Fixed long standing mem-leak
3703
3704 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3705
3706         * check/gst/gstbin.c: (GST_START_TEST):
3707         * gst/gstbin.c: (bin_bus_handler):
3708         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
3709         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
3710         (gst_message_new_warning), (gst_message_new_tag),
3711         (gst_message_new_state_changed), (gst_message_new_segment_start),
3712         (gst_message_new_segment_done), (gst_message_new_custom):
3713         * gst/gstmessage.h:
3714         * tools/gst-launch.c: (event_loop):
3715         * tools/gst-md5sum.c: (event_loop):
3716           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
3717           that applications can sensibly post custom messages with references
3718           to their own objects.
3719
3720 2005-08-24  Andy Wingo  <wingo@pobox.com>
3721
3722         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
3723         already.
3724
3725 2005-08-24  Wim Taymans  <wim@fluendo.com>
3726
3727         * gst/base/gstbasetransform.c: (gst_base_transform_init),
3728         (gst_base_transform_transform_caps),
3729         (gst_base_transform_transform_size),
3730         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3731         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
3732         (gst_base_transform_handle_buffer):
3733         * gst/base/gstbasetransform.h:
3734         Many fixes and new features added by Thomas. Can now also do
3735         transforms with variable sizes and a custom fixate_caps function.
3736
3737 2005-08-24  Wim Taymans  <wim@fluendo.com>
3738
3739         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
3740         Some debugging.
3741
3742         * gst/gstclock.h:
3743         Cast to ClockTime before formatting to time.
3744
3745         * gst/gstutils.h:
3746         Cleanups.
3747
3748 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
3749
3750         * check/gst-libs/controller.c: (GST_START_TEST),
3751         (gst_controller_suite):
3752         * docs/gst/tmpl/gstcaps.sgml:
3753         * docs/gst/tmpl/gstghostpad.sgml:
3754         * docs/gst/tmpl/gstquery.sgml:
3755         * docs/gst/tmpl/gstutils.sgml:
3756         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
3757         (gst_object_sink_values), (gst_object_get_value_arrays),
3758         (gst_object_get_value_array):
3759           gracefully handle helper method calls to objects that are not beeing
3760           controlled, added test case for that          
3761
3762 2005-08-23  Wim Taymans  <wim@fluendo.com>
3763
3764         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
3765         (gst_event_new_newsegment), (gst_event_parse_newsegment),
3766         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
3767         (gst_event_parse_qos), (gst_event_new_seek),
3768         (gst_event_parse_seek):
3769         * gst/gstevent.h:
3770         Some more debugging output and doc cleanups.
3771
3772         * gst/gstqueue.c: (gst_queue_handle_sink_event):
3773         Fix possible deadlock.
3774
3775 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
3776
3777         * docs/gst/gstreamer-docs.sgml:
3778         * docs/gst/gstreamer-sections.txt:
3779         * docs/gst/gstreamer.types:
3780         * docs/gst/tmpl/.cvsignore:
3781         * gst/gstbin.h:
3782         * gst/gstbus.c:
3783         * gst/gstelement.c:
3784         * gst/gstevent.h:
3785           added 100 symbols from gstreamer-unused.txt to the right sections
3786           fixed more broken comments
3787           added GstBus to docs
3788
3789 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
3790
3791         * docs/gst/gstreamer-sections.txt:
3792         * docs/gst/tmpl/.cvsignore:
3793         * docs/gst/tmpl/gstbin.sgml:
3794         * docs/gst/tmpl/gstbuffer.sgml:
3795         * gst/base/gstbasesrc.c:
3796         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
3797         * gst/gstbuffer.c:
3798         * gst/gstbuffer.h:
3799         * tools/gst-launch.1.in:
3800           inlined more doc comments, added missing comments and fixed comments
3801           fixed typos
3802
3803 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3804
3805         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
3806           some debugging
3807         * gst/gstcaps.h:
3808           whitespace fixes
3809         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
3810           more debugging
3811         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
3812         * gst/gststructure.h:
3813           add a fixate function for booleans; add a FIXME that these func
3814           names should probably be gst_structure_fixate_*
3815
3816 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
3817
3818         * docs/gst/gstreamer-docs.sgml:
3819         * docs/gst/gstreamer-sections.txt:
3820         * gst/Makefile.am:
3821         * gst/gstbin.c: (gst_bin_get_type),
3822         (gst_bin_child_proxy_get_child_by_index),
3823         (gst_bin_child_proxy_get_children_count),
3824         (gst_bin_child_proxy_init):
3825         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3826         (gst_child_proxy_get_child_by_index),
3827         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
3828         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
3829         (gst_child_proxy_get), (gst_child_proxy_set_property),
3830         (gst_child_proxy_set_valist), (gst_child_proxy_set),
3831         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
3832         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
3833         * gst/gstchildproxy.h:
3834         * gst/parse/grammar.y:
3835         * tools/gst-inspect.c: (print_interfaces),
3836         (print_element_properties_info), (print_element_info):
3837           ported gstchildproxy over from 0.8
3838           ported gst-inspect fixes and enhancements over from 0.8
3839
3840 2005-08-22  Wim Taymans  <wim@fluendo.com>
3841
3842         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3843         (gst_base_transform_handle_buffer):
3844         Also call the transform function if we have ANY caps.
3845
3846         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
3847         Fix debug info.
3848
3849 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
3850
3851         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
3852           Don't pretend to handle seek events if the source is not seekable
3853
3854 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
3855
3856         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3857           Remove extra parameter to debug output
3858
3859         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3860         (gst_base_src_do_seek), (gst_base_src_activate_push):
3861           Fix seek event handling.
3862
3863         * gst/gstpipeline.c: (gst_pipeline_change_state):
3864         * gst/gstqueue.c: (gst_queue_handle_sink_event),
3865         (gst_queue_src_activate_push):
3866           Don't start the src pad task on FLUSH_STOP if the pad
3867           isn't linked.
3868           Debug changes.
3869
3870 2005-08-22  Wim Taymans  <wim@fluendo.com>
3871
3872         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3873         Added check for gst_static_caps_get() refcounting.
3874
3875 2005-08-22  Wim Taymans  <wim@fluendo.com>
3876
3877         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
3878         Make _static_caps_get() refcounting sane.
3879         
3880         * gst/gstelement.c: (gst_element_set_state):
3881         Add g_return_val_if_fail() to protect against segfaults.
3882
3883 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
3884
3885         * docs/gst/tmpl/gstevent.sgml:
3886         * gst/gstevent.c:
3887         * gst/gstevent.h:
3888           inlined remaining docs, added missing doc comments
3889
3890 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3891
3892         * check/gst/gstbin.c: (GST_START_TEST):
3893           since we don't know when preroll is done, use refcount range
3894           check for the sink
3895         * gst/check/gstcheck.h:
3896           add macro for checking refcount range
3897
3898 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3899
3900         * check/Makefile.am:
3901           clean up environment for when registry gets built versus
3902           when actual tests are run; valgrind seems to not report
3903           leaks if GST_PLUGIN_PATH is set to some specific values
3904         * check/gst/gstbin.c: (GST_START_TEST):
3905           add more refcounting checks; maybe this exposes a
3906           preroll lock bug ?
3907         * common/check.mak:
3908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3909         * gst/check/gstcheck.h:
3910         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
3911         (gst_bin_change_state):
3912         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
3913           add/fix debugging/whitespace
3914
3915 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
3916
3917         * check/gst/gstevent.c: (event_probe), (test_event),
3918         (GST_START_TEST):
3919          Er, don't call gst_bin_watch_for_state_change you idiot.
3920
3921 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
3922
3923         * check/Makefile.am:
3924           Use CHECK_CFLAGS and CHECK_LIBS
3925         * check/gst/gstevent.c: (event_probe), (test_event),
3926         (GST_START_TEST):
3927           Don't leak events.
3928         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3929         (gst_base_src_start), (gst_base_src_stop),
3930         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3931         (gst_base_src_change_state):
3932           Sprinkle gst_base_src_stop liberally around error paths to fix
3933           problems reusing a source after failed state changes.
3934         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3935         (helper_find_suggest), (gst_type_find_helper):
3936           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
3937         * gst/gstevent.h:
3938         * docs/gst/tmpl/gstevent.sgml:
3939           Migrate part of the docs from the SGML file. Wait for ensonic to
3940           tell me how I did it wrong ;)
3941         * tools/gst-typefind.c: (main):
3942           Extra robustness to state changes between files.
3943
3944 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3945
3946         * check/Makefile.am:
3947           don't valgrind the controller test - it's leaking - Stefan, HELP
3948         * gst/check/gstcheck.c: (gst_check_message_error),
3949         (gst_check_chain_func), (gst_check_setup_element),
3950         (gst_check_teardown_element), (gst_check_setup_src_pad),
3951         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3952         (gst_check_teardown_sink_pad):
3953         * gst/check/gstcheck.h:
3954           add a bunch of methods to set up elements, and src and sink pads
3955         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
3956         * check/elements/identity.c: (setup_identity), (cleanup_identity),
3957         (GST_START_TEST):
3958           use them
3959         * gst/gstmessage.c:
3960         * gst/gsttag.h:
3961           whitespace/doc fixes
3962
3963 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3964
3965         * gst/gstelement.h:
3966           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
3967           be handled by the application and not always printed as well
3968
3969 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3970
3971         * check/Makefile.am:
3972           set GST_TOOLS_DIR
3973         * gst/check/gstcheck.c: (gst_check_message_error):
3974         * gst/check/gstcheck.h:
3975           add a fail_unless_equals_int
3976           add fail_unless for error messages
3977
3978 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3979
3980         * check/Makefile.am:
3981         * check/gst.supp:
3982         * common/Makefile.am:
3983         * common/check.mak:
3984         * common/gst.supp:
3985           factor out some of the common stuff so we can use it
3986
3987 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3988
3989         * check/Makefile.am:
3990         * check/gst/gstiterator.c: (GST_START_TEST):
3991         * check/gst/gstsystemclock.c: (GST_START_TEST),
3992         (gst_systemclock_suite):
3993         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3994         * gst/gstclock.c:
3995           valgrind more tests
3996
3997 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3998
3999         * check/elements/.cvsignore:
4000         * check/elements/gstfakesrc.c:
4001           rename to name of element
4002         * check/elements/identity.c: (chain_func), (event_func),
4003         (setup_identity), (cleanup_identity), (GST_START_TEST),
4004         (identity_suite), (main):
4005           add a test for identity
4006         * check/Makefile.am:
4007         * pkgconfig/Makefile.am:
4008         * pkgconfig/gstreamer-check.pc.in:
4009         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4010         * gst/check:
4011         * gst/Makefile.am:
4012         * configure.ac:
4013           move the check stuff to a library that gets installed
4014         * check/gst-libs/controller.c: (GST_START_TEST):
4015         * check/gst-libs/gdp.c:
4016         * check/gst/gst.c: (GST_START_TEST):
4017         * check/gst/gstbin.c:
4018         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4019         * check/gst/gstbus.c:
4020         * check/gst/gstcaps.c: (GST_START_TEST):
4021         * check/gst/gstelement.c:
4022         * check/gst/gstghostpad.c:
4023         * check/gst/gstiterator.c:
4024         * check/gst/gstmessage.c:
4025         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
4026         * check/gst/gstobject.c:
4027         * check/gst/gstpad.c: (GST_START_TEST):
4028         * check/gst/gststructure.c: (GST_START_TEST):
4029         * check/gst/gstsystemclock.c: (GST_START_TEST),
4030         (gst_systemclock_suite):
4031         * check/gst/gsttag.c: (gst_tag_suite):
4032         * check/gst/gstvalue.c:
4033         * check/pipelines/cleanup.c:
4034         * check/pipelines/simple_launch_lines.c:
4035         * check/states/sinks.c:
4036           change include statement
4037
4038         * docs/gst/gstreamer-sections.txt:
4039         * docs/gst/tmpl/gstpad.sgml:
4040           document more pad stuff
4041         * gst/gstminiobject.c: (gst_mini_object_ref),
4042         (gst_mini_object_unref):
4043           debug refcounting
4044
4045 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
4046
4047         * docs/gst/tmpl/gst.sgml:
4048         * gst/gst.c:
4049           eliminate another tmpl file, fix spelling in the long-description
4050
4051 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4052
4053         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4054         (test_event), (timediff), (gstevents_suite):
4055           Should fix build on 64-bit arch's
4056
4057 2005-08-18  Andy Wingo  <wingo@pobox.com>
4058
4059         Make sure that when a pipeline goes to PLAYING, that data has
4060         actually hit the sink.
4061
4062         * check/states/sinks.c (test_sink): A sink that doesn't get any
4063         data shouldn't return SUCCESS for going to either PLAYING or
4064         PAUSED. Test also the return values on the way back down.
4065
4066         * gst/gstelement.c (gst_element_set_state): When changing the
4067         state of an element currently changing state asynchronously, go to
4068         lost-state after commiting the pending state. Makes future calls
4069         to get_state continue to return ASYNC.
4070
4071         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
4072         ASYNC when going to PLAYING if we still don't have preroll, as can
4073         happen with live sources.
4074
4075 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4076
4077         * docs/pwg/advanced-types.xml:
4078           Hack long paragraph into 2 chunks as a workaround for buggy
4079           jadetex version in sid and breezy that loops infinitely and
4080           eats all RAM.
4081
4082 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4083
4084         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4085         (test_event), (timediff), (gstevents_suite):
4086           Provide more error margin in clock measurements to allow for 
4087           g_get_current_time inaccuracies.
4088
4089 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4090
4091         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4092         (test_event), (timediff), (gstevents_suite):
4093            Fix error message output so I might be able to tell why the
4094            test works here but fails on the build farm.
4095
4096 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4097
4098         * check/Makefile.am:
4099         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4100         (test_event), (timediff), (gstevents_suite), (main):
4101           I wrote a test!
4102
4103         * docs/design/part-seeking.txt:
4104           Spelling correction
4105
4106         * docs/gst/tmpl/gstevent.sgml:
4107         * docs/gst/tmpl/gstfakesrc.sgml:
4108           Docs updates.
4109
4110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4111           Treat a buffer-without-newsegment the same as a receiving 
4112           a newsegment not in time format, and disable syncing to the clock
4113           with a warning.
4114
4115         * gst/gstbus.c: (gst_bus_set_sync_handler):
4116           Assert if anyone tries to replace the existing sync_handler for bus, 
4117           as only the owner should be setting it.
4118
4119         * gst/gstevent.h:
4120           Have a fixed set of custom event enums with events identified by
4121           their structure name (as in 0.8), rather than a free-for-all
4122           allowing collisions between enum values from different plugins.
4123
4124         * gst/gstpad.c: (gst_pad_class_init):
4125           Docs change.
4126           
4127         * gst/gstqueue.c: (gst_queue_handle_sink_event):
4128           Handle out-of-band downstream events from the sending thread.
4129
4130 2005-08-17  Andy Wingo  <wingo@pobox.com>
4131
4132         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
4133         play-timeout==0 to mean no timeout at all. In that case, don't
4134         bother with a get_state or a warning, just return directly, even
4135         if it's ASYNC.
4136
4137         * gst/base/gstbasetransform.c: Debug changes.
4138
4139         * gst/gstutils.h:
4140         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
4141         ensure bins post state change messages. A bit of a hack but I can't
4142         think of a way to avoid it.
4143
4144         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
4145
4146 2005-08-16  Andy Wingo  <wingo@pobox.com>
4147
4148         * gst/base/gstadapter.h:
4149         * gst/base/gstadapter.c (gst_adapter_take): New function, like
4150         peek() but you own the data. Not terribly efficient atm.
4151
4152 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4153
4154         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
4155         (gst_element_found_tags):
4156         * gst/gstutils.h:
4157           Add two utility functions for tag handling.
4158
4159 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4160
4161         * docs/manual/advanced-dataaccess.xml:
4162         * docs/manual/basics-helloworld.xml:
4163           Fix docs to use _bin_add() before _link(), which fixes the examples
4164           with recent core versions (reported by Madhan Raj M
4165           <raj_madan@rediffmail.com>, #313199).
4166
4167 2005-08-16  Wim Taymans  <wim@fluendo.com>
4168
4169         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4170         Added subtract checks.
4171
4172         * docs/design/part-events.txt:
4173         Some more docs about newsegment
4174
4175         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
4176         Fix FIXME
4177
4178         * gst/gstcaps.c: (gst_caps_to_string):
4179         Add comments, cleanups.
4180         
4181         * gst/gstelement.c: (gst_element_save_thyself):
4182         cleanups
4183         
4184         * gst/gstvalue.c: (gst_value_collect_int_range),
4185         (gst_string_unwrap), (gst_value_union_int_int_range),
4186         (gst_value_union_int_range_int_range),
4187         (gst_value_intersect_int_int_range),
4188         (gst_value_intersect_int_range_int_range),
4189         (gst_value_intersect_double_double_range),
4190         (gst_value_intersect_double_range_double_range),
4191         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
4192         (gst_value_subtract_int_range_int),
4193         (gst_value_subtract_double_range_double),
4194         (gst_value_subtract_double_range_double_range),
4195         (gst_value_subtract_from_list), (gst_value_subtract_list),
4196         (gst_value_can_compare), (gst_value_compare_fraction):
4197         Cleanups, add comments, remove unneeded asserts.
4198
4199 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4200
4201         * tools/gst-launch.c: (event_loop):
4202           don't convert NULL structures to strings
4203
4204 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
4205
4206         * docs/gst/gstreamer-sections.txt:
4207           made some defines private
4208         * docs/gst/tmpl/gstconfig.sgml:
4209         * docs/gst/tmpl/gstqueue.sgml:
4210         * docs/gst/tmpl/gsttaglist.sgml:
4211         * docs/gst/tmpl/gsttypes.sgml:
4212         * docs/gst/tmpl/gstutils.sgml:
4213         * docs/pwg/appendix-porting.xml:
4214         * gst/base/gstbasesink.h:
4215         * gst/base/gstbasesrc.c:
4216         * gst/base/gstbasesrc.h:
4217         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
4218         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
4219         * gst/gstelement.c: (gst_element_class_init):
4220         * gst/gstpad.c: (gst_pad_class_init):
4221         * gst/gstqueue.c: (gst_queue_class_init):
4222         * gst/gstxml.c: (gst_xml_class_init):
4223           documented all undocumented signal inline
4224         * libs/gst/controller/gst-controller.h:
4225           added padding
4226
4227 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4228
4229         * docs/pwg/appendix-porting.xml:
4230           Document _set_link_function -> _set_setcaps_function.
4231
4232 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4233
4234         * check/Makefile.am:
4235           add a .check target for running the check
4236         * check/gst-libs/controller.c: (GST_START_TEST):
4237           cosmetic fixups
4238         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4239           complete checks for gstbuffer; would be nice if I could get the
4240           gcov stuff to work so I can see if I actually completed gstbuffer.c
4241         * check/gstcheck.h:
4242           add ASSERT_BUFFER_REFCOUNT
4243
4244 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
4245
4246         * docs/gst/gstreamer-sections.txt:
4247         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
4248         * gst/gsttag.h:
4249           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
4250           spew out a warning if a tag that is already registered
4251           is re-registered, unless it is re-registered with a 
4252           different type (#308438).
4253
4254 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
4255
4256         * docs/pwg/appendix-porting.xml:
4257         * docs/pwg/building-state.xml:
4258           Add some paragraphs about state changes in 0.9 to the PWG
4259           and the porting guide, in particular about the new meaning
4260           of GST_STATE_PAUSED and how to write state change functions
4261           with concurrent access by multiple threads in mind.
4262
4263 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
4264
4265         * docs/gst/gstreamer-docs.sgml:
4266         * docs/libs/gstreamer-libs-docs.sgml:
4267           added deprecation and since indexes
4268         * libs/gst/controller/gst-controller.c:
4269         * libs/gst/controller/gst-helper.c:
4270           added since tags
4271
4272
4273 2005-08-11  Wim Taymans  <wim@fluendo.com>
4274
4275         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
4276         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
4277         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
4278         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
4279         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
4280         (gst_ghost_pad_set_target):
4281         Actually implement (re)setting the target on a ghostpad
4282         as described in the docs.
4283
4284 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
4285
4286         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
4287           Check whether GST_DEBUG_NO_COLOR environment variable is
4288           set and disable coloured debug output if that is the case.
4289
4290 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
4291
4292         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4293         (gst_type_find_helper):
4294           The memory returned by gst_type_find_peek() needs to
4295           stay valid until the end of a typefind function, and
4296           typefind functions may keep results from different 
4297           offsets around, so we can't just unref the buffer from
4298           the previous _peek(), but have to save all buffers 
4299           returned by _peek() until typefinding is done and only
4300           free them then.
4301
4302 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4303
4304         * docs/gst/gstreamer-sections.txt:
4305         * gst/gstutils.h:
4306           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
4307
4308 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4309
4310         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4311           Fix a pretty good memleak.
4312
4313 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4314
4315         * gst/gstiterator.h:
4316           Fix wrong include and 'make distcheck'.
4317
4318 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4319
4320         * gst/gstbin.c: (bin_bus_handler):
4321           Use gst_element_post_message() instead.
4322
4323 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4324
4325         * gst/base/gstadapter.h:
4326         * gst/base/gstbasesink.h:
4327         * gst/base/gstbasesrc.h:
4328         * gst/base/gstbasetransform.h:
4329         * gst/base/gstcollectpads.h:
4330         * gst/base/gstpushsrc.h:
4331         * gst/gstiterator.h:
4332           Add padding to our base elements' class and instance structs and
4333           to GstIterator (you will need to rebuild all plugins and apps!)
4334
4335 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4336
4337         * gst/gstbin.c: (bin_bus_handler):
4338           Make default message forwarding from child->bus to bin->bus
4339           threadsafe and make it not emit warnings if the parent has no bus.
4340
4341 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4342
4343         * gst/gstelement.c: (activate_pads):
4344           On paused->ready, set pad->caps to NULL, as is the documented
4345           behaviour in this state change. Fixes playback of series of
4346           media files when visualization is enabled in Totem.
4347
4348 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4349
4350         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
4351           Allow NULL as filter-caps (which means "any").
4352
4353 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
4354
4355         * docs/libs/gstreamer-libs-sections.txt:
4356         * libs/gst/controller/gst-controller.c:
4357         * libs/gst/controller/gst-controller.h:
4358         * libs/gst/controller/gst-helper.c:
4359           adding more entries to the docs and fix small doc-bugs
4360
4361 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
4362
4363         * docs/gst/gstreamer-docs.sgml:
4364         * docs/gst/gstreamer-sections.txt:
4365         * docs/gst/gstreamer.types:
4366         * docs/gst/tmpl/gstbasesink.sgml:
4367         * docs/gst/tmpl/gstbasesrc.sgml:
4368         * docs/gst/tmpl/gstbasetransform.sgml:
4369         * docs/gst/tmpl/gstfakesrc.sgml:
4370         * gst/base/gstcollectpads.c:
4371         * gst/base/gstcollectpads.h:
4372         * libs/gst/controller/gst-controller.c:
4373         * libs/gst/controller/gst-controller.h:
4374         * libs/gst/controller/gst-helper.c:
4375         * libs/gst/controller/gst-interpolation.c:
4376         * libs/gst/controller/lib.c:
4377           added long/short desc for controller docs
4378           added collectpads base class docs
4379           added correct includes to base-class docs
4380
4381 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
4382
4383         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4384         (gst_test_mono_source_set_property),
4385         (gst_test_mono_source_class_init), (GST_START_TEST),
4386         (gst_controller_suite):
4387         * docs/gst/gstreamer-docs.sgml:
4388         * docs/gst/gstreamer-sections.txt:
4389         * docs/gst/gstreamer.types:
4390         * docs/libs/gstreamer-libs-docs.sgml:
4391         * docs/libs/gstreamer-libs-sections.txt:
4392         * gst/base/gstadapter.c:
4393         * libs/gst/controller/gst-controller.c:
4394         (gst_controlled_property_new), (gst_controlled_property_free),
4395         (gst_controller_new_valist),
4396         (gst_controller_remove_properties_valist),
4397         (gst_controller_sink_values), (_gst_controller_finalize):
4398         * libs/gst/controller/gst-controller.h:
4399         * libs/gst/controller/gst-helper.c:
4400         (gst_object_control_properties), (gst_object_uncontrol_properties),
4401         (gst_object_get_controller), (gst_object_set_controller),
4402         (gst_object_sink_values), (gst_object_get_value_arrays),
4403         (gst_object_get_value_array):
4404           more tests (and fixes) for the controller
4405           more docs for the controller
4406           integrated companies docs for the adapter 
4407
4408 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
4411         (GST_START_TEST), (fakesrc_suite):
4412           add tests for sizetype
4413
4414 2005-08-04  Andy Wingo  <wingo@pobox.com>
4415
4416         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
4417         fixes buffer_alloc proxying among other things.
4418
4419         * gst/base/gstbasetransform.c:
4420         * gst/base/gstbasetransform.h:
4421         Revert patch to gstbasetransform from 7-28 removing
4422         delay_configure.
4423
4424         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
4425         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
4426         Semantics changed, should return not the size of the output buffer
4427         but the byte size of a buffer with a given caps.
4428
4429         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
4430         debug object.
4431         (gst_base_transform_configure_caps): Don't set out_size here: (in,
4432         out) are not the pad caps until setcaps finishes.
4433         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
4434         not-in-place case as well. Deal with changing from in-place to
4435         not-in-place within calling pad_alloc_buffer. Still a bit
4436         concerned about the overhead here...
4437
4438 2005-08-03  Andy Wingo  <wingo@pobox.com>
4439
4440         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
4441         fixating is an error.
4442
4443 2005-08-04  Edward Hervey  <edward@fluendo.com>
4444
4445         * gst/base/gstadapter.h: 
4446         Added gst_adapter_get_type() to the header
4447
4448 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
4449
4450         * check/Makefile.am:
4451         * check/gst-libs/controller.c:
4452         * libs/gst/controller/gst-controller.c:
4453         (gst_controller_new_valist):
4454           added check test suite for the controller
4455         * gst/base/gstpushsrc.c:
4456           fixed a doc typo
4457
4458 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
4459
4460         * docs/gst/Makefile.am:
4461         * docs/gst/gstreamer-docs.sgml:
4462         * docs/gst/gstreamer-sections.txt:
4463         * docs/gst/gstreamer.types:
4464         * docs/gst/tmpl/gstfakesrc.sgml:
4465         * gst/base/README:
4466         * gst/base/gstbasesink.c:
4467         * gst/base/gstbasesink.h:
4468         * gst/base/gstbasesrc.c:
4469         * gst/base/gstbasesrc.h:
4470         * gst/base/gstbasetransform.c:
4471         * gst/base/gstpushsrc.c:
4472         * gst/base/gstpushsrc.h:
4473           add short/long description docs to base classes
4474           add pushsrc to the docs
4475           remove consolidated doc fragments
4476
4477 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
4478
4479         * configure.ac:
4480         * docs/libs/Makefile.am:
4481         * docs/libs/gstreamer-libs-docs.sgml:
4482         * docs/libs/gstreamer-libs-sections.txt:
4483         * docs/libs/gstreamer-libs.types:
4484         * examples/Makefile.am:
4485         * examples/controller/.cvsignore:
4486         * examples/controller/Makefile.am:
4487         * examples/controller/audio-example.c: (main):
4488         * libs/gst/Makefile.am:
4489         * libs/gst/controller/.cvsignore:
4490         * libs/gst/controller/Makefile.am:
4491         * libs/gst/controller/gst-controller.c:
4492         (on_object_controlled_property_changed), (gst_timed_value_compare),
4493         (gst_timed_value_find),
4494         (gst_controlled_property_set_interpolation_mode),
4495         (gst_controlled_property_new), (gst_controlled_property_free),
4496         (gst_controller_find_controlled_property),
4497         (gst_controller_new_valist), (gst_controller_new),
4498         (gst_controller_remove_properties_valist),
4499         (gst_controller_remove_properties), (gst_controller_set),
4500         (gst_controller_set_from_list), (gst_controller_unset),
4501         (gst_controller_get), (gst_controller_get_all),
4502         (gst_controller_sink_values), (gst_controller_get_value_arrays),
4503         (gst_controller_get_value_array),
4504         (gst_controller_set_interpolation_mode),
4505         (_gst_controller_finalize), (_gst_controller_init),
4506         (_gst_controller_class_init), (gst_controller_get_type):
4507         * libs/gst/controller/gst-controller.h:
4508         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
4509         (g_object_uncontrol_properties), (g_object_get_controller),
4510         (g_object_set_controller), (g_object_sink_values),
4511         (g_object_get_value_arrays), (g_object_get_value_array):
4512         * libs/gst/controller/gst-interpolation.c:
4513         (gst_controlled_property_find_timed_value_node),
4514         (interpolate_none_get), (interpolate_trigger_get),
4515         (interpolate_trigger_get_value_array):
4516         * libs/gst/controller/lib.c: (gst_controller_init):
4517         * pkgconfig/Makefile.am:
4518         * pkgconfig/gstreamer-control-uninstalled.pc.in:
4519         * pkgconfig/gstreamer-control.pc.in:
4520         * testsuite/Makefile.am:
4521         * testsuite/controller/.cvsignore:
4522         * testsuite/controller/Makefile.am:
4523         * testsuite/controller/interpolator.c: (main):
4524           added controller code
4525           removed dparam pc files
4526
4527 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
4528         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
4529         (gst_collectpads_stop):
4530           Broadcast the condition when shutting down, to make sure we wake all
4531           threads up. Shut down pads on finalize, for safety.
4532
4533 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
4534         * gst/base/gstbasetransform.c: (gst_base_transform_init),
4535         (gst_base_transform_handle_buffer),
4536         (gst_base_transform_change_state):
4537           Handle PAUSED->READY->PAUSED transition after negotiation
4538           occurred already.
4539         * gst/gstmessage.c: (gst_message_init):
4540           Extra piece of debug for new messages.
4541
4542 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
4543
4544         * configure.ac:
4545         * docs/gst/tmpl/gstbasesrc.sgml:
4546         * docs/gst/tmpl/gstelement.sgml:
4547         * docs/gst/tmpl/gstevent.sgml:
4548         * docs/gst/tmpl/gstfakesrc.sgml:
4549         * docs/gst/tmpl/gstformat.sgml:
4550         * docs/gst/tmpl/gstghostpad.sgml:
4551         * docs/gst/tmpl/gstpad.sgml:
4552         * docs/gst/tmpl/gstquery.sgml:
4553         * docs/gst/tmpl/gststructure.sgml:
4554         * docs/gst/tmpl/gsttaglist.sgml:
4555         * docs/gst/tmpl/gstvalue.sgml:
4556         * docs/libs/gstreamer-libs-docs.sgml:
4557         * docs/libs/gstreamer-libs-sections.txt:
4558         * docs/libs/gstreamer-libs.types:
4559         * libs/gst/Makefile.am:
4560         * libs/gst/control/.cvsignore:
4561         * libs/gst/control/Makefile.am:
4562         * libs/gst/control/control.c:
4563         * libs/gst/control/control.h:
4564         * libs/gst/control/dparam.c:
4565         * libs/gst/control/dparam.h:
4566         * libs/gst/control/dparam_smooth.c:
4567         * libs/gst/control/dparam_smooth.h:
4568         * libs/gst/control/dparamcommon.h:
4569         * libs/gst/control/dparammanager.c:
4570         * libs/gst/control/dparammanager.h:
4571         * libs/gst/control/dplinearinterp.c:
4572         * libs/gst/control/dplinearinterp.h:
4573         * libs/gst/control/unitconvert.c:
4574         * libs/gst/control/unitconvert.h:
4575         * testsuite/Makefile.am:
4576         * testsuite/dynparams/.cvsignore:
4577         * testsuite/dynparams/Makefile.am:
4578         * testsuite/dynparams/dparamstest.c:
4579         * tools/Makefile.am:
4580         * tools/gst-inspect.c: (print_element_info), (main):
4581         * tools/gst-xmlinspect.c: (print_element_info), (main):
4582           deactivate and remove dparams (libgstcontrol)
4583
4584 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
4585
4586         * gst/elements/gsttypefindelement.c:
4587         (gst_type_find_element_have_type), (gst_type_find_element_init),
4588         (stop_typefinding), (gst_type_find_element_handle_event),
4589         (gst_type_find_element_chain), (gst_type_find_element_getrange):
4590         * gst/elements/gsttypefindelement.h:
4591           Set caps on all outgoing buffers, not just the first one.
4592
4593 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
4594
4595         * gst/elements/gsttypefindelement.c:
4596         (gst_type_find_element_have_type),
4597         (gst_type_find_element_check_set_buffer_caps),
4598         (gst_type_find_element_init), (stop_typefinding),
4599         (gst_type_find_element_handle_event),
4600         (gst_type_find_element_chain), (gst_type_find_element_getrange):
4601         * gst/elements/gsttypefindelement.h:
4602           Set caps on first outgoing buffer when we've found the type.
4603
4604 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
4605
4606         * docs/gst/gstreamer-docs.sgml:
4607         * docs/gst/gstreamer-sections.txt:
4608         * docs/gst/tmpl/gstscheduler.sgml:
4609         * docs/gst/tmpl/gstschedulerfactory.sgml:
4610           Remove some old cruft from docs.
4611
4612 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
4613
4614         * gst/gstpad.h:
4615           Fix inline docs for GstPadLinkReturn.
4616           
4617         * gst/gststructure.c: (gst_structure_has_name):
4618         * gst/gststructure.h:
4619         * docs/gst/gstreamer-sections.txt:
4620           New API: gst_structure_has_name().
4621
4622 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
4623
4624         * configure.ac:
4625           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
4626           and _LARGEFILE_SOURCE in config.h as required. Do not 
4627           export those flags in our .pc files any longer (#142209).
4628
4629           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
4630
4631         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
4632         (gst_file_sink_do_seek), (gst_file_sink_event),
4633         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4634           Redo seek/tell calls with large file support in mind; add some
4635           debugging messages; add log message that tells us when large
4636           file support is unavailable or not enabled for some reason.
4637
4638         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
4639           Add log message that tells us when large file support 
4640           is unavailable or not enabled for some reason.
4641
4642 2005-07-29  Wim Taymans  <wim@fluendo.com>
4643
4644         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4645         Added test for removing an element with ghostpad from a bin.
4646         Fixed test as current implementation does the right thing.
4647
4648         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
4649         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
4650         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
4651         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
4652         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
4653         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4654         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4655         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4656         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
4657         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
4658         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
4659         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
4660         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4661         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
4662         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
4663         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
4664         * gst/gstghostpad.h:
4665         Clean up ghostpads, remove properties for internal stuff.
4666         Make threadsafe.
4667         Fix refcounting.
4668         Prepare for switching targets, not all use cases work yet.
4669
4670 2005-07-29  Wim Taymans  <wim@fluendo.com>
4671
4672         * docs/design/part-gstghostpad.txt:
4673         Small update.
4674
4675         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
4676         (gst_bin_remove_func):
4677         Unlinking pads while holding the bin LOCK is not a good
4678         idea.
4679
4680         * gst/gstpad.c: (gst_pad_class_init),
4681         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
4682         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
4683         No prob setting template after creating the pad.
4684
4685 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
4686
4687         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
4688         (gst_bus_peek), (gst_bus_source_dispatch),
4689         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
4690         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
4691           gst_bus_poll may be called from other threads. Handle
4692           this nicely by not making poll_data disappear off the
4693           stack once gst_bus_poll returns.
4694           gst_bus_peek now increments the refcount on the returned
4695           message.
4696
4697 2005-07-29  Wim Taymans  <wim@fluendo.com>
4698
4699         * docs/design/part-gstghostpad.txt:
4700         Overview of current GhostPad datastructures and use
4701         cases for changing the target.
4702
4703 2005-07-28  Wim Taymans  <wim@fluendo.com>
4704
4705         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4706         Added checks for hierarchy consistency whan adding linked
4707         elements to bins.
4708
4709         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4710         Added check to test element scheduling without bin/pipeline.
4711
4712         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4713         First add elements to bin, then link.
4714         
4715         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
4716         (gst_bin_remove_func):
4717         Unlink pads from elements added/removed from bin to maintain
4718         hierarchy consistency.
4719
4720 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4721
4722         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
4723         (gst_base_transform_handle_buffer):
4724         * gst/base/gstbasetransform.h:
4725           Remove broken delay_configure (fixes renegotiation of software
4726           scaling pipelines); remove some leftover printf()s.
4727
4728 2005-07-28  Wim Taymans  <wim@fluendo.com>
4729
4730         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4731         Added some more tests for wrong hierarchy
4732
4733         * docs/design/part-overview.txt:
4734         Some updates.
4735
4736         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
4737         Cleanups.
4738
4739         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
4740         (gst_element_dispose):
4741         Some more cleanups.
4742
4743         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4744         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
4745         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4746         (gst_pad_set_caps), (gst_pad_send_event):
4747         Check for correct hierarchy when linking pads. Moving to
4748         strict requirement for ghostpads when linking elements in
4749         different bins.
4750
4751         * gst/gstpad.h:
4752         Clean ups. Added WRONG_HIERARCHY return value.
4753
4754 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4755
4756         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4757           Better debug if no transform is possible.
4758
4759 2005-07-27  Wim Taymans  <wim@fluendo.com>
4760
4761         * docs/random/wtay/network-transp:
4762         Some old doc I had.
4763
4764 2005-07-27  Wim Taymans  <wim@fluendo.com>
4765
4766         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4767         (gst_dp_event_from_packet):
4768         Fix serialization of seek events.
4769
4770 2005-07-27  Wim Taymans  <wim@fluendo.com>
4771
4772         * check/gst-libs/gdp.c: (GST_START_TEST):
4773         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4774         Fix compilation and fix event serialization.
4775
4776 2005-07-27  Wim Taymans  <wim@fluendo.com>
4777
4778         * CHANGES-0.9:
4779         * docs/design/part-TODO.txt:
4780         * docs/design/part-events.txt:
4781         Some docs updates
4782
4783         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4784         (gst_base_sink_event), (gst_base_sink_do_sync),
4785         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
4786         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4787         (gst_base_src_do_seek), (gst_base_src_event_handler),
4788         (gst_base_src_loop):
4789         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4790         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4791         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
4792         (gst_base_transform_event), (gst_base_transform_handle_buffer),
4793         (gst_base_transform_set_passthrough),
4794         (gst_base_transform_is_passthrough):
4795         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4796         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4797         Event updates.
4798
4799         * gst/gstbuffer.h:
4800         Use faster casts.
4801
4802         * gst/gstelement.c: (gst_element_seek):
4803         * gst/gstelement.h:
4804         Update gst_element_seek.
4805
4806         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
4807         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
4808         (gst_event_new_flush_start), (gst_event_new_flush_stop),
4809         (gst_event_new_eos), (gst_event_new_newsegment),
4810         (gst_event_parse_newsegment), (gst_event_new_tag),
4811         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
4812         (gst_event_parse_qos), (gst_event_new_seek),
4813         (gst_event_parse_seek), (gst_event_new_navigation):
4814         * gst/gstevent.h:
4815         Make GstEvent use GstStructure. Add parsing code, make sure the
4816         API is sufficiently generic.
4817         Mark possible directions of events and serialization.
4818
4819         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
4820         (_gst_message_copy), (gst_message_new_segment_start),
4821         (gst_message_new_segment_done), (gst_message_new_custom),
4822         (gst_message_parse_segment_start),
4823         (gst_message_parse_segment_done):
4824         Small cleanups.
4825
4826         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4827         (gst_pad_set_caps), (gst_pad_send_event):
4828         Update for new events. 
4829         Catch events sent in wrong directions.
4830
4831         * gst/gstqueue.c: (gst_queue_link_src),
4832         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
4833         (gst_queue_handle_src_query):
4834         Event updates.
4835
4836         * gst/gsttag.c:
4837         * gst/gsttag.h:
4838         Remove event code from this file.
4839
4840         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4841         (gst_dp_event_from_packet):
4842         Event updates.
4843
4844 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4845
4846         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
4847         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4848         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
4849           Make debugging actually useful.
4850
4851 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4852
4853         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
4854         (gst_pad_fixate_caps):
4855           Implement default fixation once again, so that gst_pad_fixate()
4856           actually does anything at all. This probably needs to be some
4857           sort of a last resort, and use profile-based fixation first, but
4858           since that doesn't exist yet, this is the best we have. Fixes
4859           visualization in Totem.
4860
4861 2005-07-22  Wim Taymans  <wim@fluendo.com>
4862
4863         * docs/design/part-events.txt:
4864         Small update.
4865
4866         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4867         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
4868         (gst_base_sink_activate_pull):
4869         Some more comments.
4870
4871         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
4872         (gst_fake_src_create):
4873         Fix handoff marshall.
4874
4875         * gst/elements/gstidentity.c: (gst_identity_class_init),
4876         (gst_identity_transform_ip):
4877         We're a real inplace element.
4878
4879         * gst/gstbus.c: (gst_bus_post):
4880         Added some comments.
4881
4882         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
4883         * tests/muxing/case1.c: (main):
4884         * tests/sched/dynamic-pipeline.c: (main):
4885         * tests/sched/interrupt1.c: (main):
4886         * tests/sched/interrupt2.c: (main):
4887         * tests/sched/interrupt3.c: (main):
4888         * tests/sched/runxml.c: (main):
4889         * tests/sched/sched-stress.c: (main):
4890         * tests/seeking/seeking1.c: (event_received), (main):
4891         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4892         (main):
4893         * tests/threadstate/threadstate3.c: (main):
4894         * tests/threadstate/threadstate4.c: (main):
4895         * tests/threadstate/threadstate5.c: (main):
4896         Fix the tests.
4897
4898 2005-07-21  Wim Taymans  <wim@fluendo.com>
4899
4900         * docs/design/part-seeking.txt:
4901         Some small additions.
4902
4903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4904         (gst_base_sink_get_times), (gst_base_sink_do_sync),
4905         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
4906         * gst/base/gstbasesink.h:
4907         discont values are gint64, handle the math correctly.
4908
4909         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4910         Make the basesrc report error if the source pad is not linked.
4911
4912         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4913         (gst_queue_loop), (gst_queue_handle_src_query),
4914         (gst_queue_src_activate_push):
4915         Make queue collect data even if the srcpad is not linked.
4916         Start pushing out data as soon as it is linked.
4917
4918         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
4919         * gst/gstutils.h:
4920         Added gst_flow_get_name() to ease error reporting.
4921
4922 2005-07-20  Wim Taymans  <wim@fluendo.com>
4923
4924         * gst/gstmessage.c: (gst_message_new_segment_start),
4925         (gst_message_new_segment_done), (gst_message_parse_segment_start),
4926         (gst_message_parse_segment_done):
4927         * gst/gstmessage.h:
4928         Added a bunch of messages for advanced seeking.
4929
4930         * gst/parse/grammar.y:
4931         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
4932         (gst_dpman_state_changed):
4933         Fix some new-pad -> pad-added signals
4934
4935 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4936
4937         * docs/manual/appendix-porting.xml:
4938         * docs/pwg/appendix-porting.xml:
4939           Document new-pad/state-change signal renames and the FixedList
4940           type rename.
4941
4942 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4943
4944         * docs/manual/advanced-autoplugging.xml:
4945         * docs/manual/basics-helloworld.xml:
4946         * docs/manual/basics-pads.xml:
4947         * docs/random/ds/0.9-suggested-changes:
4948         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
4949         * gst/gstelement.h:
4950         * gst/gstevent.h:
4951         * gst/gstformat.h:
4952         * gst/gstquery.h:
4953         * gst/gststructure.c: (gst_structure_value_get_generic_type),
4954         (gst_structure_parse_array), (gst_structure_parse_value):
4955         * gst/gstvalue.c: (gst_type_is_fixed),
4956         (gst_value_list_prepend_value), (gst_value_list_append_value),
4957         (gst_value_list_get_size), (gst_value_list_get_value),
4958         (gst_value_transform_array_string), (gst_value_serialize_array),
4959         (gst_value_deserialize_array), (gst_value_intersect_array),
4960         (gst_value_is_fixed), (_gst_value_initialize):
4961         * gst/gstvalue.h:
4962           GstElement::new-pad -> pad-added, GstElement::state-change ->
4963           state-changed, GstValueFixedList -> GstValueArray, add format and
4964           flags as their own arguments in gst_element_seek() (should improve
4965           "bindeability"), remove function generators since they don't work
4966           under a whole bunch of compilers (they were deprecated already
4967           anyway).
4968
4969 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4970
4971         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4972         (_gst_debug_register_funcptr):
4973         * gst/gstinfo.h:
4974           Fix illegal cast on some platforms (#309253).
4975
4976 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4977
4978         * gst/gstmessage.c: (gst_message_new_custom):
4979         * gst/gstmessage.h:
4980           Add _new_custom, make _new_application a macro to _new_custom.
4981
4982 2005-07-20  Wim Taymans  <wim@fluendo.com>
4983
4984         * gst/base/gstbasesrc.c: (gst_base_src_init),
4985         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4986         * gst/base/gstbasesrc.h:
4987         Add a gboolean to decide when to push out a discont.
4988
4989         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4990         (gst_queue_loop), (gst_queue_handle_src_query),
4991         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
4992         (gst_queue_set_property), (gst_queue_get_property):
4993         Some cleanups.
4994
4995         * tests/threadstate/threadstate1.c: (main):
4996         Make a thread test compile and run... very silly..
4997
4998
4999 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5000
5001         * docs/manual/appendix-porting.xml:
5002           Mention removal of libgstgconf-0.9.la and existence of gconf
5003           elements.
5004
5005 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5006
5007         * docs/pwg/advanced-clock.xml:
5008         * docs/pwg/appendix-porting.xml:
5009         * docs/pwg/intro-preface.xml:
5010         * docs/pwg/other-base.xml:
5011         * docs/pwg/other-manager.xml:
5012         * docs/pwg/other-nton.xml:
5013         * docs/pwg/other-ntoone.xml:
5014         * docs/pwg/other-oneton.xml:
5015         * docs/pwg/pwg.xml:
5016           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
5017           demuxer), remove n-to-n (was never written), fix some code examples
5018           and links and update the porting section to include all this.
5019
5020 2005-07-19  Wim Taymans  <wim@fluendo.com>
5021
5022         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
5023         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
5024         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
5025         (gst_queue_src_activate_push), (gst_queue_change_state),
5026         (gst_queue_get_property):
5027         * gst/gstqueue.h:
5028         Propagate GstFlowReturn more intelligently upstream and output
5029         an ERROR/EOS when streaming stopped due to fatal error.
5030
5031 2005-07-19  Wim Taymans  <wim@fluendo.com>
5032
5033         * tools/gst-launch.c: (check_intr), (event_loop), (main):
5034         Don't block forever for the state change to complete, the
5035         pipeline already did with a sensible timeout.
5036
5037 2005-07-19  Wim Taymans  <wim@fluendo.com>
5038
5039         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5040         Make sure we never call the create function is we
5041         got deactivated.
5042
5043 2005-07-19  Andy Wingo  <wingo@pobox.com>
5044
5045         * gst/parse/parse.l: Attempt to solve bug #172815.
5046
5047 2005-07-19  Wim Taymans  <wim@fluendo.com>
5048
5049         * docs/design/part-clocks.txt:
5050         * docs/design/part-events.txt:
5051         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
5052         Small docs updates.
5053         Only update the seeking values when we are not
5054         busy streaming.
5055
5056 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
5057
5058         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5059           Oops, ignore the result of gst_pad_push_event here.
5060
5061 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
5062
5063         * gst/base/gstbasesrc.c: (gst_base_src_loop),
5064         (gst_base_src_activate_push):
5065           Send discont event from the loop function, as pads
5066           aren't activated yet in the activate_push handler.
5067
5068         * gst/gstbin.c: (bin_bus_handler):
5069           Don't leak element name.
5070
5071 2005-07-18  Andy Wingo  <wingo@pobox.com>
5072
5073         * configure.ac: Use AS_LIBTOOL_TAGS.
5074
5075 2005-07-18  Wim Taymans  <wim@fluendo.com>
5076
5077         * docs/gst/gstreamer.types:
5078         Remove deleted types.
5079
5080 2005-07-18  Wim Taymans  <wim@fluendo.com>
5081
5082         * check/elements/gstfakesrc.c: (GST_START_TEST):
5083         * configure.ac:
5084         * gst/Makefile.am:
5085         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
5086         (init_popt_callback):
5087         * gst/gst.h:
5088         * gst/gst_private.h:
5089         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
5090         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
5091         * gst/gstbin.h:
5092         * gst/gstbus.h:
5093         * gst/gstconfig.h.in:
5094         * gst/gstelement.c: (gst_element_class_init),
5095         (gst_element_set_base_time), (gst_element_get_base_time),
5096         (iterator_fold_with_resync), (gst_element_change_state),
5097         (gst_element_dispose), (gst_element_get_bus):
5098         * gst/gstelement.h:
5099         * gst/gstelementfactory.h:
5100         * gst/gsterror.c: (_gst_core_errors_init):
5101         * gst/gsterror.h:
5102         * gst/gstevent.h:
5103         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5104         * gst/gstindex.c:
5105         * gst/gstinfo.c: (_gst_debug_init):
5106         * gst/gstmessage.c: (_gst_message_copy):
5107         * gst/gstmessage.h:
5108         * gst/gstminiobject.h:
5109         * gst/gstobject.c:
5110         * gst/gstobject.h:
5111         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5112         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
5113         * gst/gstpad.h:
5114         * gst/gstparse.h:
5115         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
5116         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5117         (gst_pipeline_get_last_stream_time):
5118         * gst/gstpipeline.h:
5119         * gst/gstpluginfeature.h:
5120         * gst/gstquery.h:
5121         * gst/gstscheduler.c:
5122         * gst/gstscheduler.h:
5123         * gst/gststructure.h:
5124         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5125         (gst_task_finalize), (gst_task_func), (gst_task_create),
5126         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
5127         (gst_task_stop), (gst_task_pause):
5128         * gst/gsttask.h:
5129         * gst/gsttypefind.h:
5130         * gst/gsttypes.h:
5131         * gst/registries/gstlibxmlregistry.c: (load_feature),
5132         (gst_xml_registry_load), (gst_xml_registry_save_feature):
5133         * gst/registries/gstxmlregistry.c:
5134         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
5135         * gst/schedulers/threadscheduler.c:
5136         * libs/gst/control/dparammanager.h:
5137         * tools/gst-inspect.c: (print_element_list),
5138         (print_plugin_features), (print_element_features):
5139         * tools/gst-xmlinspect.c: (print_element_list),
5140         (print_plugin_info), (main):
5141         Removed plugable schedulers.
5142         Removed Scheduler/Manager from elements.
5143         Removed gsttypes.h, rearranged includes.
5144         Removed dependency pad<->element, element<>pipeline, and
5145         various others,  fix includes.
5146         implement gst_pad_get_parent() with gst_object_get_parent()
5147         Make GstTask sefcontained.
5148         Fix _get_state() on GstBin, it did not return ASYNC with a 0
5149         timeout.
5150         Fix endless loop in iterator_fold_with_resync.
5151
5152
5153 2005-07-18  Wim Taymans  <wim@fluendo.com>
5154
5155         * gst/Makefile.am:
5156         * gst/gstarch.h:
5157         Remove old file.
5158
5159 2005-07-18  Wim Taymans  <wim@fluendo.com>
5160
5161         * gst/Makefile.am:
5162         No more cothreads.h
5163
5164 2005-07-18  Wim Taymans  <wim@fluendo.com>
5165
5166         * gst/cothreads.c:
5167         * gst/cothreads.h:
5168         Let's remove these.
5169
5170 2005-07-18  Wim Taymans  <wim@fluendo.com>
5171
5172         * docs/design/part-dynamic.txt:
5173         * docs/design/part-events.txt:
5174         * docs/design/part-seeking.txt:
5175         Some more docs in the works.
5176
5177         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5178         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
5179         (gst_base_transform_setcaps), (gst_base_transform_get_size),
5180         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5181         (gst_base_transform_handle_buffer),
5182         (gst_base_transform_sink_activate_push),
5183         (gst_base_transform_src_activate_pull),
5184         (gst_base_transform_set_passthrough),
5185         (gst_base_transform_is_passthrough):
5186         Refcounting fixes.
5187
5188         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
5189         Cleanups.
5190
5191         * gst/gstevent.c: (gst_event_finalize):
5192         Set SRC to NULL.
5193
5194         * gst/gstutils.c: (gst_element_unlink),
5195         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
5196         (gst_pad_proxy_setcaps):
5197         * gst/gstutils.h:
5198         Add _get_parent_element() to get a pads parent as an element.
5199
5200 2005-07-18  Wim Taymans  <wim@fluendo.com>
5201
5202         * check/gst/gstbin.c: (GST_START_TEST):
5203         Remove bogus test.
5204
5205 2005-07-18  Wim Taymans  <wim@fluendo.com>
5206
5207         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
5208         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
5209         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
5210         (gst_base_sink_event), (gst_base_sink_do_sync),
5211         (gst_base_sink_chain), (gst_base_sink_loop),
5212         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
5213         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5214         Refcounting fixes.
5215         Fix logic for returning ASYNC when not prerolled.
5216
5217 2005-07-18  Wim Taymans  <wim@fluendo.com>
5218
5219         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5220         Fix nasty refcount bug.
5221
5222 2005-07-16 Philippe Khalaf <burger@speedy.org>
5223
5224         * gst/elements/gstfdsrc.c:
5225         * gst/elements/gstfdsrc.h:
5226         * gst/elements/gstelements.c:
5227         * gst/elements/Makefile.am:
5228         Ported fdsrc to 0.9.
5229
5230 2005-07-16  Wim Taymans  <wim@fluendo.com>
5231
5232         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5233         (gst_base_sink_do_sync):
5234         Fix compile error.
5235
5236 2005-07-16  Wim Taymans  <wim@fluendo.com>
5237
5238         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5239         (gst_base_sink_event), (gst_base_sink_get_times),
5240         (gst_base_sink_do_sync), (gst_base_sink_change_state):
5241         * gst/base/gstbasesink.h:
5242         Store and use discont values when syncing buffers as described
5243         in design docs.
5244         
5245         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5246         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
5247         (gst_base_src_activate_push):
5248         Push discont event when starting.
5249
5250         * gst/elements/gstidentity.c: (gst_identity_transform):
5251         Small cleanups.
5252
5253         * gst/gstbin.c: (gst_bin_change_state):
5254         Small cleanups in base_time  distribution.
5255
5256         * gst/gstelement.c: (gst_element_set_base_time),
5257         (gst_element_get_base_time), (gst_element_change_state):
5258         * gst/gstelement.h:
5259         Added methods for the base_time of the element.
5260         Some MT fixes.
5261
5262         * gst/gstpipeline.c: (gst_pipeline_send_event),
5263         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5264         (gst_pipeline_get_last_stream_time):
5265         * gst/gstpipeline.h:
5266         MT fixes.
5267         Handle seeking as described in design doc, remove stream_time
5268         hack.
5269         Cleanups clock and stream_time selection code. Added accessors
5270         for the stream_time.
5271         
5272
5273 2005-07-16  Andy Wingo  <wingo@pobox.com>
5274
5275         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
5276         (#305291).
5277
5278 2005-07-16  Wim Taymans  <wim@fluendo.com>
5279
5280         * check/gst/gstbin.c: (GST_START_TEST):
5281         Make elements silent as the deep_notify refs the
5282         parent, which might make the test fail.
5283
5284         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5285         Don't hold the lock for too long.
5286
5287 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
5288
5289         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5290           Don't unref the caps we passed to gst_caps_make_writable() after
5291           passing them. gst_caps_make_writable() will do that for us.
5292
5293 2005-07-15  Andy Wingo  <wingo@pobox.com>
5294
5295         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
5296         (#157311).
5297
5298         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
5299         own marshalling function for the handoff signal. Properly type the
5300         buffer as a buffer. Fixes some warnings. Should do a more general
5301         solution.
5302         (gst_identity_class_init): Plug into the right marshaller.
5303
5304 2005-07-15  Wim Taymans  <wim@fluendo.com>
5305
5306         * docs/design/part-TODO.txt:
5307         * docs/design/part-clocks.txt:
5308         * docs/design/part-element-sink.txt:
5309         * docs/design/part-events.txt:
5310         * docs/design/part-gstpipeline.txt:
5311         Updated docs, mostly DISCONT related.
5312
5313 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
5314
5315         * docs/pwg/building-pads.xml:
5316           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
5317
5318 2005-07-15  Andy Wingo  <wingo@pobox.com>
5319
5320         * tools/gst-typefind.c: Update, add copyright block.
5321
5322         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
5323         Normalize and truncate caps before fixation.
5324
5325         * gst/gstcaps.h:
5326         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
5327         discards all but the first structure from its argument.
5328
5329 2005-07-15  Wim Taymans  <wim@fluendo.com>
5330
5331         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5332         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
5333         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5334         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5335         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
5336         (gst_base_transform_chain), (gst_base_transform_change_state),
5337         (gst_base_transform_set_passthrough),
5338         (gst_base_transform_is_passthrough):
5339         * gst/base/gstbasetransform.h:
5340         Make passthrough work using the bufferpools.
5341         Changed API a bit, subclasses have to write into a buffer
5342         provided by the base class.
5343         More debug info in nego functions.
5344         
5345         * gst/elements/gstidentity.c: (gst_identity_init),
5346         (gst_identity_transform):
5347         Port to new base class.
5348
5349 2005-07-15  Wim Taymans  <wim@fluendo.com>
5350
5351         * gst/gstmessage.c: (gst_message_new_state_changed):
5352         * tools/gst-launch.c: (event_loop), (main):
5353         Totally dump messages in -launch with the -m option.
5354         Fix message name for State messages,
5355
5356 2005-07-14  Wim Taymans  <wim@fluendo.com>
5357
5358         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5359         Post error messages on errors.
5360
5361 2005-07-14  Wim Taymans  <wim@fluendo.com>
5362
5363         * gst/gstcaps.c: (gst_caps_do_simplify):
5364         Remove debug info.
5365
5366         * gst/gsterror.h:
5367         Define error for stream stopped.
5368
5369         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5370         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
5371         Do proper return values.
5372
5373         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5374         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
5375         (gst_pad_get_range):
5376         Better return values.
5377
5378         * gst/gstpad.h:
5379         Reorganise return values, add macro to check for fatal errors.
5380
5381         * gst/gstqueue.c: (gst_queue_chain):
5382         Return proper GstFlowReturn values,
5383
5384 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5385
5386         * docs/gst/gstreamer-sections.txt:
5387         * docs/gst/gstreamer.types:
5388         * docs/gst/tmpl/gst.sgml:
5389         * docs/gst/tmpl/gstbasesink.sgml:
5390         * docs/gst/tmpl/gstbasesrc.sgml:
5391         * docs/gst/tmpl/gstbasetransform.sgml:
5392         * docs/gst/tmpl/gstbin.sgml:
5393         * docs/gst/tmpl/gstbuffer.sgml:
5394         * docs/gst/tmpl/gstcaps.sgml:
5395         * docs/gst/tmpl/gstclock.sgml:
5396         * docs/gst/tmpl/gstcompat.sgml:
5397         * docs/gst/tmpl/gstconfig.sgml:
5398         * docs/gst/tmpl/gstelement.sgml:
5399         * docs/gst/tmpl/gstelementdetails.sgml:
5400         * docs/gst/tmpl/gstelementfactory.sgml:
5401         * docs/gst/tmpl/gstenumtypes.sgml:
5402         * docs/gst/tmpl/gsterror.sgml:
5403         * docs/gst/tmpl/gstevent.sgml:
5404         * docs/gst/tmpl/gstfakesink.sgml:
5405         * docs/gst/tmpl/gstfakesrc.sgml:
5406         * docs/gst/tmpl/gstfilesink.sgml:
5407         * docs/gst/tmpl/gstfilesrc.sgml:
5408         * docs/gst/tmpl/gstfilter.sgml:
5409         * docs/gst/tmpl/gstformat.sgml:
5410         * docs/gst/tmpl/gstghostpad.sgml:
5411         * docs/gst/tmpl/gstimplementsinterface.sgml:
5412         * docs/gst/tmpl/gstindex.sgml:
5413         * docs/gst/tmpl/gstindexfactory.sgml:
5414         * docs/gst/tmpl/gstinfo.sgml:
5415         * docs/gst/tmpl/gstiterator.sgml:
5416         * docs/gst/tmpl/gstmacros.sgml:
5417         * docs/gst/tmpl/gstmemchunk.sgml:
5418         * docs/gst/tmpl/gstminiobject.sgml:
5419         * docs/gst/tmpl/gstobject.sgml:
5420         * docs/gst/tmpl/gstpad.sgml:
5421         * docs/gst/tmpl/gstpadtemplate.sgml:
5422         * docs/gst/tmpl/gstparse.sgml:
5423         * docs/gst/tmpl/gstpipeline.sgml:
5424         * docs/gst/tmpl/gstplugin.sgml:
5425         * docs/gst/tmpl/gstpluginfeature.sgml:
5426         * docs/gst/tmpl/gstquery.sgml:
5427         * docs/gst/tmpl/gstqueue.sgml:
5428         * docs/gst/tmpl/gstregistry.sgml:
5429         * docs/gst/tmpl/gstregistrypool.sgml:
5430         * docs/gst/tmpl/gstscheduler.sgml:
5431         * docs/gst/tmpl/gstschedulerfactory.sgml:
5432         * docs/gst/tmpl/gststructure.sgml:
5433         * docs/gst/tmpl/gstsystemclock.sgml:
5434         * docs/gst/tmpl/gsttaglist.sgml:
5435         * docs/gst/tmpl/gsttagsetter.sgml:
5436         * docs/gst/tmpl/gsttrace.sgml:
5437         * docs/gst/tmpl/gsttrashstack.sgml:
5438         * docs/gst/tmpl/gsttypefind.sgml:
5439         * docs/gst/tmpl/gsttypefindfactory.sgml:
5440         * docs/gst/tmpl/gsttypes.sgml:
5441         * docs/gst/tmpl/gsturihandler.sgml:
5442         * docs/gst/tmpl/gsturitype.sgml:
5443         * docs/gst/tmpl/gstutils.sgml:
5444         * docs/gst/tmpl/gstvalue.sgml:
5445         * docs/gst/tmpl/gstversion.sgml:
5446         * docs/gst/tmpl/gstxml.sgml:
5447         * docs/libs/tmpl/gstcontrol.sgml:
5448         * docs/libs/tmpl/gstdataprotocol.sgml:
5449         * docs/libs/tmpl/gstdparam.sgml:
5450         * docs/libs/tmpl/gstdplinint.sgml:
5451         * docs/libs/tmpl/gstdpman.sgml:
5452         * docs/libs/tmpl/gstdpsmooth.sgml:
5453         * docs/libs/tmpl/gstgetbits.sgml:
5454         * docs/libs/tmpl/gstunitconvert.sgml:
5455         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
5456         (gst_push_src_base_init), (gst_push_src_class_init),
5457         (gst_push_src_init), (gst_push_src_create):
5458         * gst/base/gstpushsrc.h:
5459         * gst/elements/gstelements.c:
5460         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
5461         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
5462         (gst_fake_sink_init), (gst_fake_sink_set_property),
5463         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
5464         (gst_fake_sink_event), (gst_fake_sink_preroll),
5465         (gst_fake_sink_render), (gst_fake_sink_change_state):
5466         * gst/elements/gstfakesink.h:
5467         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5468         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5469         (gst_fake_src_base_init), (gst_fake_src_class_init),
5470         (gst_fake_src_init), (gst_fake_src_event_handler),
5471         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
5472         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
5473         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
5474         (gst_fake_src_create_buffer), (gst_fake_src_create),
5475         (gst_fake_src_start), (gst_fake_src_stop):
5476         * gst/elements/gstfakesrc.h:
5477         * gst/elements/gstfilesink.c: (_do_init),
5478         (gst_file_sink_base_init), (gst_file_sink_class_init),
5479         (gst_file_sink_init), (gst_file_sink_dispose),
5480         (gst_file_sink_set_location), (gst_file_sink_set_property),
5481         (gst_file_sink_get_property), (gst_file_sink_open_file),
5482         (gst_file_sink_close_file), (gst_file_sink_query),
5483         (gst_file_sink_event), (gst_file_sink_render),
5484         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
5485         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
5486         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
5487         * gst/elements/gstfilesink.h:
5488         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
5489         (gst_file_src_class_init), (gst_file_src_init),
5490         (gst_file_src_finalize), (gst_file_src_set_location),
5491         (gst_file_src_set_property), (gst_file_src_get_property),
5492         (gst_file_src_map_region), (gst_file_src_map_small_region),
5493         (gst_file_src_create_mmap), (gst_file_src_create_read),
5494         (gst_file_src_create), (gst_file_src_is_seekable),
5495         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
5496         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
5497         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
5498         (gst_file_src_uri_handler_init):
5499         * gst/elements/gstfilesrc.h:
5500           more autistic cleanliness in functions/names/defines
5501
5502 2005-07-13  Andy Wingo  <wingo@pobox.com>
5503
5504         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
5505         source couldn't negotiate.
5506
5507         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
5508         connections again.
5509
5510         * gst/gstutils.h:
5511         * gst/gstutils.c (gst_element_link_pads_filtered): New old
5512         function. I am channeling Hades. Put your boots on suckers!!!
5513
5514 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5515
5516         * testsuite/caps/Makefile.am:
5517         * testsuite/caps/value_compare.c:
5518         * testsuite/caps/value_intersect.c:
5519         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5520           move two testsuite apps over to the check dir
5521
5522 2005-07-12  Wim Taymans  <wim@fluendo.com>
5523
5524         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5525         Added more debug info in the negotiate process.
5526
5527         * gst/gstmessage.h:
5528         Prepare for segment playback.
5529
5530         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
5531         Better debugging.
5532
5533         * gst/gstutils.c:
5534         Some more docs.
5535
5536         * tools/gst-launch.c: (main):
5537         NULL pipeline on errors.
5538
5539 2005-07-12  Andy Wingo  <wingo@pobox.com>
5540
5541         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
5542         not it comes from a malloc region. Make sure our copy gets freed.
5543
5544 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5547         * check/gst/gstmessage.c: (GST_START_TEST):
5548         * check/gst/gststructure.c: (GST_START_TEST),
5549         (gst_structure_suite), (main):
5550           more testing
5551         * gst/gstelement.c: (gst_element_message_full):
5552           clean up GError and debug string now that they get copied
5553         * gst/gstmessage.c: (gst_message_new_error),
5554         (gst_message_new_warning), (gst_message_parse_error),
5555         (gst_message_parse_warning):
5556           use GST_TYPE_G_ERROR for structure_new, and take copies of
5557           arguments, so that we don't mess up refcounting
5558
5559 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5560
5561         * check/Makefile.am:
5562           add per-test valgrind targets
5563         * check/gst-libs/gdp.c: (GST_START_TEST),
5564         (gst_data_protocol_suite), (main):
5565           clean up
5566
5567 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5568
5569         * check/Makefile.am:
5570           instate more valgrindable tests
5571         * check/elements/gstfakesrc.c: (chain_func), (event_func),
5572         (GST_START_TEST), (fakesrc_suite):
5573         * check/gst/gstpad.c: (GST_START_TEST):
5574         * check/gst/gststructure.c: (GST_START_TEST):
5575           fix test leaks
5576         * docs/gst/tmpl/gstminiobject.sgml:
5577         * gst/gstpad.c: (gst_pad_finalize):
5578           fix the static mutex leak
5579
5580 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5581
5582         * check/Makefile.am:
5583           add two more tests for valgrinding
5584         * check/gst/gstvalue.c: (GST_START_TEST):
5585           test refcount of deserialized buffer, found a leak
5586         * docs/gst/gstreamer-docs.sgml:
5587         * docs/gst/gstreamer-sections.txt:
5588         * docs/gst/gstreamer.types:
5589         * docs/gst/tmpl/gstminiobject.sgml:
5590           add miniobject to docs
5591         * gst/gstminiobject.c:
5592           add some docs
5593         * gst/gstvalue.c: (gst_value_deserialize_buffer),
5594         (gst_string_unwrap):
5595           fix a hard-to-find invalid write for one of the tests
5596           fix a leak for deserialized buffers
5597
5598 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5599
5600         * docs/pwg/advanced-events.xml:
5601         * docs/pwg/advanced-request.xml:
5602         * docs/pwg/advanced-scheduling.xml:
5603         * docs/pwg/appendix-porting.xml:
5604         * docs/pwg/building-boiler.xml:
5605         * docs/pwg/intro-preface.xml:
5606         * docs/pwg/other-ntoone.xml:
5607           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
5608           of example code and explanation for pad activation, loop() and
5609           getrange() functions and a bit more. Remove old comments pointing
5610           to loop-functions.
5611         * examples/pwg/Makefile.am:
5612           Add loop/getrange examples.
5613
5614 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5615
5616         * configure.ac:
5617           check for valgrind binary + some fixes
5618         * check/gst.supp:
5619           valgrind suppressions for the tests
5620         * check/Makefile.am:
5621           add a valgrind: target that valgrinds the unit tests
5622         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
5623         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5624         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5625         * check/gst/gstghostpad.c:
5626           added some cleanup
5627         * check/gst/gstdata.c:
5628           removed
5629         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
5630         (thread_unref), (gst_mini_object_suite), (main):
5631           added
5632         * gst/gst.c: (gst_deinit):
5633         * gst/gst.h:
5634           add a method to clean up.
5635         * gst/gstsystemclock.c: (gst_system_clock_dispose),
5636         (gst_system_clock_obtain):
5637           allow for disposing the system clock.
5638         * tools/gst-launch.c: (main):
5639           deinit
5640
5641 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5642
5643         * docs/gst/tmpl/gstbasesrc.sgml:
5644         * docs/gst/tmpl/gstfakesrc.sgml:
5645         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5646         (gst_base_src_init), (gst_base_src_set_property),
5647         (gst_base_src_get_property), (gst_base_src_get_range),
5648         (gst_base_src_start):
5649         * gst/base/gstbasesrc.h:
5650           add num-buffers property
5651         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5652         (gst_fakesrc_init), (gst_fakesrc_set_property),
5653         (gst_fakesrc_get_property), (gst_fakesrc_create),
5654         (gst_fakesrc_start):
5655           remove num-buffers property
5656
5657 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5658
5659         * docs/gst/gstreamer-sections.txt:
5660         * docs/gst/tmpl/gstbasesink.sgml:
5661         * docs/gst/tmpl/gstbasesrc.sgml:
5662         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
5663         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
5664         (gst_base_sink_finalize), (gst_base_sink_set_clock),
5665         (gst_base_sink_set_property), (gst_base_sink_get_property),
5666         (gst_base_sink_handle_object), (gst_base_sink_event),
5667         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5668         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
5669         (gst_base_sink_loop), (gst_base_sink_deactivate),
5670         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
5671         (gst_base_sink_change_state):
5672         * gst/base/gstbasesink.h:
5673         * gst/base/gstbasesrc.h:
5674         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
5675         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
5676         (gst_filesink_init):
5677           more macro splitting
5678
5679 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * gst/gstelement.c: (gst_element_get_bus):
5682           add debug
5683         * tools/gst-launch.c: (check_intr), (event_loop):
5684           fix bus leaks
5685
5686 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5687
5688         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5689           fix a caps leak
5690
5691 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5694         (gst_base_src_finalize):
5695           add finalize method and clean up properly
5696         * gst/gstpipeline.c: (gst_pipeline_dispose):
5697           add debug
5698
5699 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5700
5701         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
5702         (gst_bin_suite):
5703           add more things to check
5704         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
5705         * gst/gstelement.c:
5706           more debug
5707
5708 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5709
5710         * check/elements/gstfakesrc.c: (chain_func), (event_func),
5711         (GST_START_TEST), (fakesrc_suite):
5712         * check/gst-libs/gdp.c: (GST_START_TEST):
5713         * check/gst/gst.c: (GST_START_TEST):
5714         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5715         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5716         * check/gst/gstbus.c: (GST_START_TEST):
5717         * check/gst/gstcaps.c: (GST_START_TEST):
5718         * check/gst/gstdata.c: (GST_START_TEST):
5719         * check/gst/gstelement.c: (GST_START_TEST):
5720         * check/gst/gstghostpad.c: (GST_START_TEST):
5721         * check/gst/gstiterator.c: (GST_START_TEST):
5722         * check/gst/gstmessage.c: (GST_START_TEST):
5723         * check/gst/gstobject.c: (GST_START_TEST):
5724         * check/gst/gstpad.c: (GST_START_TEST):
5725         * check/gst/gststructure.c: (GST_START_TEST):
5726         * check/gst/gstsystemclock.c: (GST_START_TEST),
5727         (gst_systemclock_suite):
5728         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5729         * check/gst/gstvalue.c: (GST_START_TEST):
5730         * check/pipelines/cleanup.c: (GST_START_TEST):
5731         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5732         * check/states/sinks.c: (GST_START_TEST):
5733         * check/gstcheck.c: (gst_check_init):
5734         * check/gstcheck.h:
5735           add debugging category
5736           use GST_START_TEST now, so we add a debug line
5737
5738 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
5741           add test for state change message on a bin
5742         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
5743           add another test
5744         * gst/gstbin.c: (gst_bin_init):
5745         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
5746         * gst/gstelement.c: (gst_element_post_message),
5747         (gst_element_set_state):
5748         * gst/gstelementfactory.c: (gst_element_factory_create):
5749         * gst/gstmessage.c: (gst_message_new):
5750         * gst/gstscheduler.c:
5751           various debugging additions and cleanups
5752
5753 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5754
5755         * check/Makefile.am:
5756         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
5757         (main):
5758           adding tests for elements
5759         * gst/gstelement.c: (gst_element_dispose):
5760
5761 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5762
5763         * gst/registries/gstlibxmlregistry.c: (load_feature):
5764           plug more leaks.  A simple gst_init() now is leakfree, yay.
5765
5766 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5767
5768         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
5769         (gst_xml_registry_load):
5770           plug another memleak
5771
5772 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5773
5774         * configure.ac:
5775           use GST_SET_ERROR_CFLAGS
5776         * docs/faq/cvs.xml:
5777           change to ERROR_CFLAGS
5778
5779 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5780
5781         * configure.ac:
5782           make GST_ERROR_CFLAGS overridable and re-enable Werror
5783         * docs/faq/cvs.xml:
5784           add a note about error CFLAGS
5785         * docs/gst/tmpl/gstfakesrc.sgml:
5786         * gst/elements/gstfakesrc.c:
5787           comment out some unused code
5788         * gst/gst.c: (split_and_iterate):
5789         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
5790         (load_feature):
5791           plug some memleaks
5792
5793 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5794
5795         * common/Makefile.am:
5796         * common/gtk-doc.mak:
5797         * docs/gst/Makefile.am:
5798           factor out gtk-doc.mak
5799
5800 2005-07-07  Wim Taymans  <wim@fluendo.com>
5801
5802         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
5803         (gst_thread_scheduler_dispose):
5804         Unlock the STREAM_LOCK completely.
5805
5806 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5807
5808         * check/Makefile.am:
5809         * check/elements/.cvsignore:
5810         * check/elements/gstfakesrc.c: (chain_func), (event_func),
5811         (START_TEST), (fakesrc_suite), (main):
5812         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5813         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5814         (gst_fakesrc_create), (gst_fakesrc_start):
5815         * gst/elements/gstfakesrc.h:
5816           adding a first element test
5817
5818 2005-07-07  Andy Wingo  <wingo@pobox.com>
5819
5820         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
5821         debug message.
5822
5823 2005-07-07  Wim Taymans  <wim@fluendo.com>
5824
5825         * gst/gstquery.c:
5826         * gst/gstquery.h:
5827         Remove old types
5828
5829 2005-07-07  Wim Taymans  <wim@fluendo.com>
5830
5831         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5832         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
5833         Allow subclasses to implement their own negotiation.
5834
5835 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
5836
5837         * docs/design/part-gstbin.txt:
5838         * docs/design/part-gstpipeline.txt:
5839           Update design notes to reflect the movement of
5840           responsibility for bus handling from GstPipeline to
5841           GstBin
5842
5843 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
5844
5845         * configure.ac:
5846           Remove unnecessary queue2/3/4 examples.
5847
5848 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
5849
5850         * examples/Makefile.am:
5851         * examples/helloworld/helloworld.c: (event_loop), (main):
5852         * examples/queue/queue.c: (event_loop), (main):
5853         * examples/queue2/queue2.c: (main):
5854           Update a couple of the examples to work again.
5855
5856         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5857         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
5858          Spelling corrections and extra debug.
5859         
5860         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
5861         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
5862         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
5863         * gst/gstbin.h:
5864         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
5865         (gst_pipeline_change_state):
5866         * gst/gstpipeline.h:
5867           Move the bus handler for children to the GstBin, and create a
5868           separate bus for receiving messages from children to the one the
5869           bus sends 'upwards' on.
5870
5871 2005-07-06  Wim Taymans  <wim@fluendo.com>
5872
5873         * gst/base/README:
5874         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5875         (gst_base_sink_handle_object), (gst_base_sink_loop),
5876         (gst_base_sink_change_state):
5877         * gst/base/gstbasesink.h:
5878         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5879         (gst_base_src_init), (gst_base_src_setcaps),
5880         (gst_base_src_getcaps), (gst_base_src_loop),
5881         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
5882         (gst_base_src_start), (gst_base_src_change_state):
5883         * gst/base/gstbasesrc.h:
5884         Make basesrc negotiate.
5885         Handle the case where preroll fails in basesink.
5886         Update README.
5887
5888 2005-07-06  Wim Taymans  <wim@fluendo.com>
5889
5890         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
5891         Implement the fixate function.
5892         Clean up acceptcaps.
5893
5894 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5895
5896         * docs/pwg/building-filterfactory.xml:
5897         * docs/pwg/pwg.xml:
5898           Remove never-written filter-factory chapter; I'll add the various
5899           base classes to part 4 ("other element types") later on.
5900
5901 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5902
5903         * docs/pwg/advanced-negotiation.xml:
5904         * docs/pwg/building-boiler.xml:
5905         * docs/pwg/building-pads.xml:
5906         * docs/pwg/pwg.xml:
5907         * examples/pwg/Makefile.am:
5908           Add a chapter on caps negotiation, simplify the original code
5909           samples a bit w.r.t. caps negotiation, add link to the advanced
5910           section. Add a bunch of examples showing different use cases of
5911           different types of caps negotiation. Upstream renegotiation isn't
5912           fully documented yet since nobody knows how that works.
5913
5914 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * check/gst/gstpad.c:
5917         * check/gstcheck.c:
5918         * gst/gstpad.c: (gst_pad_get_internal_links_default):
5919           if pad has no parent, return NULL as list of internal links
5920
5921 2005-07-05  Andy Wingo  <wingo@pobox.com>
5922
5923         * gst/elements/gstfilesrc.c:
5924         * gst/elements/gstfakesrc.c: 
5925         * gst/base/gstpushsrc.c:
5926         * gst/base/gstbasesrc.h: 
5927         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
5928         
5929 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
5930
5931         * Makefile.am:
5932           better report generation target (lcov needs a patch)
5933
5934 2005-07-05  Andy Wingo  <wingo@pobox.com>
5935
5936         * gst/elements, testsuite: Null if we got it...
5937
5938 2005-07-05  Wim Taymans  <wim@fluendo.com>
5939
5940         * configure.ac:
5941         * libs/gst/dataprotocol/Makefile.am:
5942         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
5943         * libs/gst/dataprotocol/dataprotocol.h:
5944         * pkgconfig/Makefile.am:
5945         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
5946         * pkgconfig/gstreamer-dataprotocol.pc.in:
5947         Ported dataprotol to 0.9. 
5948         Added pkgconfig files.
5949
5950 2005-07-05  Andy Wingo  <wingo@pobox.com>
5951
5952         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
5953         Default to returning TRUE for the case when tranform_caps returns
5954         a fixed caps, like for identity or volume.
5955
5956         * check/gst/gstbus.c (pound_bus_with_messages): 
5957         * check/gst/gstmessage.c (START_TEST): 
5958         * check/pipelines/simple_launch_lines.c (got_handoff): Application
5959         message API change.
5960
5961         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
5962         logic weaks here: always run transform_caps, trying passthrough
5963         operation only if the original caps intersects with the transform.
5964
5965         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
5966         source and sink caps.
5967
5968         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
5969         Intersect the peer caps with the pad template before going into
5970         transform_caps.
5971         (gst_base_transform_transform_caps): More debugging.
5972
5973         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
5974         src argument.
5975
5976 2005-07-04  Edward Hervey  <edward@fluendo.com>
5977
5978         * gst/gstutils.c:
5979         * gst/gstutils.h:
5980         (gst_pad_add_*_probe): now returns the signal id for better wrapping
5981         in bindings.
5982
5983 2005-07-04  Andy Wingo  <wingo@pobox.com>
5984
5985         * check/gst/gstpad.c: Only set explicit caps on pads.
5986
5987 2005-07-01  Andy Wingo  <wingo@pobox.com>
5988
5989         * tests/network-clock.scm: Commentary update.
5990
5991         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
5992         Didn't really make sense, not implementable with basetransform,
5993         etc.
5994         (gst_identity_transform): Unref inbuf via make_writable. Feeble
5995         attempt at implementing the sync property, needs an unlock method.
5996
5997         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
5998         New func, by default returns the same caps (the identity
5999         transformation).
6000         (gst_base_transform_getcaps): Uses transform_caps to return
6001         something sensible.
6002         (gst_base_transform_setcaps): Complicated logic to get caps on
6003         both pads, even if they are different, and to call set_caps once
6004         for every time both pads get their caps set.
6005         (gst_base_transform_handle_buffer): Give the ref to the transform
6006         function. Allows in-place modification of the buffer.
6007
6008         * gst/base/gstbasetransform.h (transform_caps): New class method.
6009         Given caps on one side, what can I do on the other.
6010         (set_caps): Take two caps, one for each side of the element.
6011
6012         * gst/gstpad.h:
6013         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
6014         caps in place. This is safe because we can check the mutability of
6015         the caps, and a good idea because fixate functions are just called
6016         as a matter of last resort. (Not actually implemented.)
6017         (gst_pad_set_caps): If the caps we're setting is actually the same
6018         as the existing pad caps, just update the pointer without calling
6019         setcaps. Assert that caps is either NULL or fixed, as per the
6020         docs.
6021
6022         * gst/gstghostpad.c: Update for fixate changes.
6023
6024 2005-07-02  Andy Wingo  <wingo@pobox.com>
6025
6026         * gst/gstcaps.c:
6027         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
6028         two refcounts makes it immutable, which is enough. Doc more.
6029
6030 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
6031
6032         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
6033           Put the mini_object into GValue as a mini_object,
6034           not a gpointer, since that's how we declared
6035           the signal.
6036
6037 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6038
6039         * examples/pwg/Makefile.am:
6040           Fix buildbot again.
6041
6042 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6043
6044         * docs/pwg/building-testapp.xml:
6045           Add extra check.
6046         * examples/pwg/Makefile.am:
6047           Fix buildbot.
6048
6049 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6050
6051         * configure.ac:
6052         * examples/Makefile.am:
6053         * examples/pwg/Makefile.am:
6054         * examples/pwg/extract.pl:
6055           Enable building the PWG examples.
6056         * docs/pwg/advanced-interfaces.xml:
6057           Add URI interface stub.
6058         * docs/pwg/advanced-types.xml:
6059         * docs/pwg/other-autoplugger.xml:
6060         * docs/pwg/appendix-porting.xml:
6061         * docs/pwg/pwg.xml:
6062           Add porting guide (mostly stubs), remove autoplugging (see ADM).
6063         * docs/pwg/building-boiler.xml:
6064         * docs/pwg/building-chainfn.xml:
6065         * docs/pwg/building-pads.xml:
6066         * docs/pwg/building-props.xml:
6067         * docs/pwg/building-state.xml:
6068         * docs/pwg/building-testapp.xml:
6069           Update the building-*.xml parts for 0.9 changes. All examples
6070           code blocks compile in examples/pwg/*.
6071
6072 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6073
6074         * docs/manual/advanced-autoplugging.xml:
6075         * docs/manual/appendix-checklist.xml:
6076         * docs/manual/appendix-integration.xml:
6077         * docs/manual/highlevel-components.xml:
6078           Fix playbin/decodebin examples, update docs a bit, mention bus
6079           instead of signals in various places, mention kmplayer and
6080           kaffeine since they have a working GStreamer backend in the KDE
6081           section.
6082
6083 2005-06-30  Wim Taymans  <wim@fluendo.com>
6084
6085         * CHANGES-0.9:
6086         * docs/design/draft-ghostpads.txt:
6087         * docs/design/draft-push-pull.txt:
6088         * docs/design/draft-query.txt:
6089         * docs/design/part-TODO.txt:
6090         * docs/design/part-query.txt:
6091         Added CHANGES-0.9 doc, updated status of other docs.
6092         
6093         * gst/gstquery.h:
6094         Remove "hmm" macro
6095
6096 2005-06-30  Wim Taymans  <wim@fluendo.com>
6097
6098         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6099         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
6100         (gst_base_sink_change_state):
6101         * gst/base/gstbasesink.h:
6102         Some tweaks, only EOS and a buffer complete a preroll.
6103
6104 2005-06-30  Andy Wingo  <wingo@pobox.com>
6105
6106         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
6107         activate_push down to the internal pad as well.
6108
6109 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
6110
6111         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6112
6113         * gst/gsttaginterface.c:
6114           Some documentation fixes (#307394 and #307397).
6115
6116 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
6117
6118         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6119
6120         * gst/gstvalue.c: (gst_value_intersect_list):
6121           Fix memleak (#309125).
6122
6123 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6124
6125         * docs/manual/advanced-dataaccess.xml:
6126           Fix fakesrc example to compile; doesn't work, bug somewhere...?
6127         * docs/manual/basics-pads.xml:
6128           Add reference for filtered caps to above chapter.
6129
6130 2005-06-30  Wim Taymans  <wim@fluendo.com>
6131
6132         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
6133         (gst_bin_change_state):
6134         Probes are gone.
6135         Lame attempt at making the state change function a bit
6136         more readable.
6137
6138 2005-06-30  Wim Taymans  <wim@fluendo.com>
6139
6140         * docs/design/part-clocks.txt:
6141         * docs/design/part-element-sink.txt:
6142         * docs/design/part-events.txt:
6143         * docs/design/part-preroll.txt:
6144         * docs/design/part-states.txt:
6145         Some more tweeks and additions to the docs.
6146
6147 2005-06-30  Wim Taymans  <wim@fluendo.com>
6148
6149         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6150         (default_have_data), (gst_pad_class_init), (gst_pad_init),
6151         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6152         (gst_pad_check_pull_range), (gst_pad_get_range),
6153         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
6154         * gst/gstpad.h:
6155         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
6156         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6157         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6158         (gst_pad_remove_buffer_probe):
6159         Removed atomic operations, use existing LOCK.
6160         Move exception handling out of main code path.
6161
6162 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6163
6164         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6165         (silly_return_true_function), (gst_pad_class_init),
6166         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6167         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
6168         (gst_pad_send_event):
6169           Fix accumulator, add default value by using _emitv() instead
6170           of _emit() for signal emission.
6171
6172 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6173
6174         * docs/manual/advanced-dataaccess.xml:
6175         * examples/manual/Makefile.am:
6176           Add probe example.
6177         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
6178           Make work (??).
6179
6180 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
6181
6182         * gst/elements/gstfilesink.c: (gst_filesink_render):
6183           Simplify code so that we don't have to handle short
6184           writes and return GST_FLOW_ERROR if an error occured.
6185
6186 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6187
6188         * docs/gst/gstreamer-docs.sgml:
6189           Remove probes more.
6190
6191 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6192
6193         * docs/gst/gstreamer-sections.txt:
6194         * docs/gst/tmpl/gstpad.sgml:
6195         * docs/gst/tmpl/gstprobe.sgml:
6196         * gst/Makefile.am:
6197         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6198         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
6199         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
6200         (gst_pad_push_event), (gst_pad_send_event):
6201         * gst/gstpad.h:
6202         * gst/gstutils.c: (gst_pad_add_data_probe),
6203         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6204         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6205         (gst_pad_remove_buffer_probe):
6206         * gst/gstutils.h:
6207           Remove old probes, add new g-signal-based probes and some utility
6208           functions.
6209
6210 2005-06-29  Edward Hervey  <edward@fluendo.com>
6211
6212         * gst/gstelementfactory.c:
6213         * gst/gstutils.h:
6214         * gst/gstutils.c:
6215         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
6216         the definition to the header file.
6217
6218 2005-06-29  Andy Wingo  <wingo@pobox.com>
6219
6220         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
6221         plugins from the source directory.
6222
6223 2005-06-29  Wim Taymans  <wim@fluendo.com>
6224
6225         * docs/gst/tmpl/gstbuffer.sgml:
6226         * docs/gst/tmpl/gstclock.sgml:
6227         Some fixings for blantently wrong text.
6228
6229 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * check/Makefile.am:
6232         * gst/gst.c: (add_path_func), (init_pre):
6233         * gst/gstregistry.c: (gst_registry_add_path):
6234           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
6235           only scan the GST_PLUGIN_PATH locations, and not add
6236           system locations
6237
6238 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6239
6240         * docs/gst/gstreamer-sections.txt:
6241         * docs/gst/tmpl/gstbasesrc.sgml:
6242         * gst/gstelement.c:
6243         * gst/gstelement.h:
6244         * gst/gstevent.c:
6245         * gst/gstutils.c:
6246           doc fixes
6247
6248 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6249
6250         * docs/manual/advanced-autoplugging.xml:
6251           Fix autoplugging example.
6252
6253 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6254
6255         * docs/manual/advanced-autoplugging.xml:
6256         * docs/manual/mime-world.fig:
6257           Try to get autoplugging working, fix type detection. Fix text
6258           in hello-world image.
6259
6260 2005-06-29  Wim Taymans  <wim@fluendo.com>
6261
6262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6263         (gst_base_sink_change_state):
6264         Small debug line.
6265
6266         * gst/gstclock.h:
6267         map SIGNAL and BROADCAST to the right function.
6268
6269         * gst/gstobject.h:
6270         Remove redundant braces.
6271
6272         * gst/gstpad.c: (gst_pad_set_caps):
6273         Don't call setcaps function when reseting caps to NULL.
6274
6275         * gst/gstsystemclock.c: (gst_system_clock_dispose),
6276         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
6277         (gst_system_clock_id_unschedule):
6278         Use BROADCAST as this is what we do.
6279
6280 2005-06-29  Wim Taymans  <wim@fluendo.com>
6281
6282         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6283         We are actually prerolling before commiting the state
6284         change. 
6285
6286 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6287
6288         * docs/manual/advanced-clocks.xml:
6289         * docs/manual/advanced-interfaces.xml:
6290         * docs/manual/advanced-metadata.xml:
6291         * docs/manual/advanced-position.xml:
6292         * docs/manual/advanced-schedulers.xml:
6293         * docs/manual/advanced-threads.xml:
6294         * docs/manual/appendix-porting.xml:
6295         * docs/manual/basics-bins.xml:
6296         * docs/manual/basics-bus.xml:
6297         * docs/manual/basics-elements.xml:
6298         * docs/manual/basics-helloworld.xml:
6299         * docs/manual/basics-pads.xml:
6300         * docs/manual/highlevel-components.xml:
6301         * docs/manual/manual.xml:
6302         * docs/manual/thread.fig:
6303           Update (until threads/scheduling) Application Development Manual;
6304           remove GstThread, add GstBus, add simple porting checklist, add
6305           documentation for tag writing, clocks, make all examples until this
6306           part compile and run.
6307         * examples/manual/Makefile.am:
6308           Update from changes to Application Development Manual; add bus
6309           example, remove thread example.
6310
6311 2005-06-28  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
6314         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
6315         (gst_bus_source_dispatch):
6316         Add debugging messages.
6317         Make internal methods static.
6318         Handle the case where the bus is flushed in the handler.
6319         
6320         * gst/gstelement.c: (gst_element_get_bus):
6321         Fix refcount in _get_bus();
6322
6323         * gst/gstpipeline.c: (gst_pipeline_change_state),
6324         (gst_pipeline_get_clock_func):
6325         Clock refcounting fixes.
6326         Handle the case where preroll timed out more gracefully.
6327         
6328         * gst/gstsystemclock.c: (gst_system_clock_dispose):
6329         Clean up the internal thread in dispose. This is needed
6330         for subclasses that actually get disposed.
6331         
6332         * gst/schedulers/threadscheduler.c:
6333         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
6334         (gst_thread_scheduler_dispose):
6335         Free thread pool in dispose.
6336
6337 2005-06-28  Andy Wingo  <wingo@pobox.com>
6338
6339         * tests/network-clock-utils.scm (debug, print-event): New utils.
6340
6341         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
6342         (*packet-loss*): Unified loss probability.
6343         (network-time): Report out-of-band events.
6344
6345         * tests/plot-data: Add support for out-of-band events. Hack it
6346         into this script instead of passing it down the pipe; should fix
6347         this later.
6348
6349 2005-06-28  Wim Taymans  <wim@fluendo.com>
6350
6351         * docs/gst/gstreamer.types:
6352         * docs/gst/tmpl/gstbasesrc.sgml:
6353         * docs/gst/tmpl/gstpad.sgml:
6354         Docs fixes.
6355
6356 2005-06-28  Wim Taymans  <wim@fluendo.com>
6357
6358         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6359         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
6360         (gst_proxy_pad_do_fixatecaps):
6361         Correctly proxy the check_pull_range function.
6362
6363 2005-06-28  Andy Wingo  <wingo@pobox.com>
6364
6365         * tests/network-clock.scm: Removed need for slib.
6366         
6367 2005-06-28  Wim Taymans  <wim@fluendo.com>
6368
6369         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
6370         (gst_basesink_preroll_queue_flush):
6371         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
6372         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
6373         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6374         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6375         (gst_proxy_pad_set_property):
6376         * gst/gstpad.c:
6377         * gst/gstpad.h:
6378         * gst/gstqueue.c: (gst_queue_init):
6379         The deprecated pad loop function is removed now.
6380
6381 2005-06-28  Andy Wingo  <wingo@pobox.com>
6382
6383         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
6384         New parameters, simulate network packet loss.
6385
6386         * tests/network-clock-utils.scm: Initialize the RNG.
6387
6388 2005-06-28  Wim Taymans  <wim@fluendo.com>
6389
6390         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
6391         (gst_basesink_event), (gst_basesink_deactivate):
6392         Flushing the preroll queue always needs to unlock the waiters.
6393
6394 2005-06-28  Edward Hervey  <edward@fluendo.com>
6395
6396         * gst/gstpipeline.c: (gst_pipeline_send_event): 
6397         Wheen a seek was successful on a pipeline, set the stream_time to the
6398         seek offset in order to have a synchronized stream_time.
6399
6400 2005-06-28  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6403         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6404         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
6405         (gst_proxy_pad_do_fixatecaps):
6406         Call wrapper function instead of just calling the function
6407         pointers. This takes care of any locking and whatmore.
6408
6409 2005-06-28  Wim Taymans  <wim@fluendo.com>
6410
6411         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
6412         (gst_pad_pull_range):
6413         * gst/gstpad.h:
6414         CONNECTED -> LINKED.
6415
6416 2005-06-28  Andy Wingo  <wingo@pobox.com>
6417
6418         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
6419         source-munging commit!!!
6420
6421         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
6422         (gst_object_sink): Take gpointer arguments, not GstObject --
6423         avoids casts. Like GLib.
6424
6425         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
6426         activate.
6427
6428 2005-06-27  Andy Wingo  <wingo@pobox.com>
6429
6430         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
6431         remaining buffer.
6432
6433         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
6434         returns a sorted copy of the trace list.
6435         (gst_alloc_trace_print_live): New API, only prints traces with
6436         live objects. Sort the list.
6437         (gst_alloc_trace_print_all): Sort the list.
6438         (gst_alloc_trace_print): Align columns.
6439
6440         * gst/elements/gstttypefindelement.c:
6441         * gst/elements/gsttee.c:
6442         * gst/base/gstbasesrc.c:
6443         * gst/base/gstbasesink.c:
6444         * gst/base/gstbasetransform.c:
6445         * gst/gstqueue.c: Adapt for pad activation changes.
6446
6447         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
6448         sched.
6449         (gst_pipeline_dispose): Drop ref on sched.
6450
6451         * gst/gstpad.c (gst_pad_init): Set the default activate func.
6452         (gst_pad_activate_default): Push mode by default.
6453         (pre_activate_switch, post_activate_switch): New stubs, things to
6454         do before and after switching activation modes on pads.
6455         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
6456         the pad's activate function to choose which mode to activate.
6457         Shortcut on deactivation and call the right function directly.
6458         (gst_pad_activate_pull): New API, (de)activates a pad in pull
6459         mode.
6460         (gst_pad_activate_push): New API, same for push mode.
6461         (gst_pad_set_activate_function) 
6462         (gst_pad_set_activatepull_function) 
6463         (gst_pad_set_activatepush_function): Setters for new API.
6464
6465         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
6466         Trace all miniobjects.
6467         (gst_mini_object_make_writable): Unref the arg if we copy, like
6468         gst_caps_make_writable.
6469
6470         * gst/gstmessage.c (_gst_message_initialize): No trace init.
6471
6472         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
6473         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
6474         Adapt for new pad API.
6475
6476         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
6477
6478         * gst/gstelement.h:
6479         * gst/gstelement.c (gst_element_iterate_src_pads) 
6480         (gst_element_iterate_sink_pads): New API functions.
6481         
6482         * gst/gstelement.c (iterator_fold_with_resync): New utility,
6483         should fold into gstiterator.c in some form.
6484         (gst_element_pads_activate): Simplified via use of fold and
6485         delegation of decisions to gstpad->activate.
6486
6487         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
6488         help in debugging.
6489
6490         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
6491         class once in init, like gstmessage. Didn't run into this issue
6492         but it seems correct. Don't initialize a trace, gstminiobject does
6493         that.
6494
6495         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
6496         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
6497         to the bus.
6498         (assert_live_count): New util function, uses alloc traces to check
6499         cleanup.
6500
6501         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
6502         To be modified when unlink drops the internal pad.
6503
6504 2005-06-27  Wim Taymans  <wim@fluendo.com>
6505
6506         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
6507         (gst_bin_change_state):
6508         Cleanup the get_state() function a little, make sure it
6509         iterates the same set of elements.
6510         Added stub iterate_state_order().
6511
6512 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6513
6514         * docs/gst/gstreamer-docs.sgml:
6515         * docs/gst/gstreamer-sections.txt:
6516         * docs/gst/gstreamer.types:
6517         * docs/gst/tmpl/gstbasesink.sgml:
6518         * docs/gst/tmpl/gstbasesrc.sgml:
6519         * docs/gst/tmpl/gstbasetransform.sgml:
6520         * docs/gst/tmpl/gstelement.sgml:
6521         * docs/gst/tmpl/gstiterator.sgml:
6522         * gst/base/gstbasesrc.c:
6523         * gst/base/gstbasesrc.h:
6524         * gst/base/gstbasetransform.h:
6525         * gst/gstelement.c:
6526         * gst/gstiterator.h:
6527           adding basetransform and iterator docs
6528
6529 2005-06-27  Andy Wingo  <wingo@pobox.com>
6530
6531         * docs/design/part-activation.txt: Notes on how activation should
6532         work -- not quite implemented yet.
6533
6534 2005-06-25  Wim Taymans  <wim@fluendo.com>
6535
6536         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
6537         At least get the chain function correct, needs more
6538         fixing.
6539
6540 2005-06-25  Wim Taymans  <wim@fluendo.com>
6541
6542         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
6543         (gst_basesink_handle_object), (gst_basesink_event),
6544         (gst_basesink_do_sync), (gst_basesink_handle_event),
6545         (gst_basesink_change_state):
6546         * gst/gsttask.h:
6547         Right, two problems here: ghostpads don't take locks and
6548         glib _rec_mutex_lock_full() with depth==0 still locks.
6549         Catch illegal locking and g_warn them.
6550
6551 2005-06-25  Wim Taymans  <wim@fluendo.com>
6552
6553         * check/states/sinks.c: (START_TEST), (gst_object_suite):
6554         Have to check for completion now...
6555
6556 2005-06-25  Wim Taymans  <wim@fluendo.com>
6557
6558         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
6559         (gst_basesink_handle_object), (gst_basesink_event),
6560         (gst_basesink_do_sync), (gst_basesink_handle_event),
6561         (gst_basesink_change_state):
6562         * gst/gstpad.h:
6563         Unlock STREAM_LOCK whatever the recursion was.
6564
6565 2005-06-25  Wim Taymans  <wim@fluendo.com>
6566
6567         * gst/base/gstbasesink.c: (gst_basesink_set_property),
6568         (gst_basesink_preroll_queue_empty),
6569         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
6570         (gst_basesink_event), (gst_basesink_do_sync),
6571         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
6572         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
6573         (gst_basesink_change_state):
6574         Reworked the base sink, handle event and buffer serialisation
6575         correctly and removed possible deadlock.
6576         Handle EOS correctly.
6577
6578 2005-06-25  Wim Taymans  <wim@fluendo.com>
6579
6580         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
6581         (gst_pipeline_change_state):
6582         * tools/gst-launch.c: (check_intr), (event_loop), (main):
6583         Allow elements to post EOS in the state change function.
6584         Fix up -launch, make it exit the poll loop when the
6585         pipeline actually changed state.
6586         Fix up warning parsing in -launch.
6587
6588 2005-06-25  Wim Taymans  <wim@fluendo.com>
6589
6590         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
6591         (gst_tee_sink_activate):
6592         Core takes STREAM_LOCK for us now.
6593
6594 2005-06-25  Wim Taymans  <wim@fluendo.com>
6595
6596         * gst/gstelement.c: (gst_element_get_state_func),
6597         (gst_element_set_state):
6598         * gst/gstelement.h:
6599         * gst/gstmessage.c: (gst_message_parse_error),
6600         (gst_message_parse_warning):
6601         Keep track of current target state while performing a state
6602         change so that subclasses can do something interesting.
6603         Fix parsing of warning/error messages when GError is NULL.
6604
6605 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6606
6607         * docs/gst/Makefile.am:
6608         * docs/gst/gstreamer-docs.sgml:
6609         * docs/gst/gstreamer-sections.txt:
6610         * docs/gst/gstreamer.types:
6611         * docs/gst/tmpl/gstbasesink.sgml:
6612         * docs/gst/tmpl/gstbasesrc.sgml:
6613         * docs/gst/tmpl/gstbin.sgml:
6614         * docs/gst/tmpl/gstcompat.sgml:
6615         * docs/gst/tmpl/gstfakesink.sgml:
6616         * docs/gst/tmpl/gstfakesrc.sgml:
6617         * docs/gst/tmpl/gstfilesink.sgml:
6618         * docs/gst/tmpl/gstfilesrc.sgml:
6619         * docs/gst/tmpl/gstindex.sgml:
6620         * docs/manual/appendix-quotes.xml:
6621         * gst/base/gstbasesrc.h:
6622         * gst/elements/gstfakesrc.h:
6623         * gst/gstmessage.h:
6624           start pulling in base classes and elements in our docs
6625
6626 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
6627
6628         * docs/gst/Makefile.am:
6629         * docs/libs/Makefile.am:
6630           fixed make distcheck with gtk-doc 1.3
6631
6632 2005-06-23  Wim Taymans  <wim@fluendo.com>
6633
6634         * gst/gstelement.c: (gst_element_get_state_func),
6635         (gst_element_set_state), (gst_element_change_state):
6636         When the state did not change, also report NO_PREROLL
6637         when it matters.
6638
6639 2005-06-23  Wim Taymans  <wim@fluendo.com>
6640
6641         * gst/gstpad.c: (gst_pad_event_default):
6642         * gst/gstqueue.c: (gst_queue_loop):
6643         No unsafe task pausing please.
6644
6645 2005-06-23  Wim Taymans  <wim@fluendo.com>
6646
6647         * gst/schedulers/threadscheduler.c:
6648         (gst_thread_scheduler_task_start),
6649         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
6650         Ref the task before pushing it on the threadpool. This
6651         makes sure that we have a ref when the threadfunction is
6652         actually called.
6653
6654 2005-06-23  Andy Wingo  <wingo@pobox.com>
6655
6656         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
6657         offset is greater than the file's size.
6658
6659         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
6660         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
6661         * gst/gstobject.c (gst_object_class_init): Make the class lock
6662         recursive. Wim won't let me drop deep_notify. Decodebin works
6663         again, whoopdy doo.
6664
6665         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
6666         internal pad, and hacks accordingly. Doesn't do it on the target
6667         pad because we change its caps. Probably catches all cases of
6668         interest tho.
6669         (gst_ghost_pad_set_property): Connect to notify::caps as
6670         appropritate.
6671
6672         * tests/network-clock.scm (plot-simulation): Pipe data to the
6673         elite python skript.
6674
6675         * tests/network-clock-utils.scm (define-parameter): New macro,
6676         defines a parameter that can be set via the command line.
6677         (set-parameter!, parse-parameter-arguments): Command line args
6678         parser.
6679
6680         * tests/plot-data: Simple matplotlib-based plotter, takes input on
6681         stdin.
6682
6683 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
6684
6685         * gst/elements/gsttypefindelement.c:
6686         (gst_type_find_element_handle_event):
6687           Don't restart typefinding on a discont.
6688         * gst/gstelement.c: (gst_element_set_state):
6689           Debug spelling fix.
6690         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
6691           Allow changing mode of an active pad.
6692           Debug output fixes.
6693         * gst/registries/gstlibxmlregistry.c: (load_feature):
6694           Don't cast a static pad template to a normal pad template.
6695
6696 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6697
6698         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
6699         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6700           remove gst_strtoll completely, since it didn't actually do
6701           anything more than what g_ascii_strtoull already does.
6702           check for range errors when deserializing
6703           do a cast for the unsigned cases; but further fixing needs
6704           a decision on what the interpretation of "(int)" and
6705           deserialization should be for values that fall outside the
6706           type's boundaries (ie, refuse, or interpret as casting)
6707
6708 2005-06-23  Wim Taymans  <wim@fluendo.com>
6709
6710         * check/Makefile.am:
6711         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
6712         * docs/design/part-live-source.txt:
6713         * docs/design/part-states.txt:
6714         * gst/base/gstbasesrc.c: (gst_basesrc_init),
6715         (gst_basesrc_set_live), (gst_basesrc_is_live),
6716         (gst_basesrc_get_range), (gst_basesrc_activate),
6717         (gst_basesrc_change_state):
6718         * gst/base/gstbasesrc.h:
6719         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6720         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
6721         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
6722         * gst/gstelement.c: (gst_element_get_state_func),
6723         (gst_element_set_state):
6724         * gst/gstelement.h:
6725         * gst/gsttypes.h:
6726         * tools/gst-launch.c: (event_loop), (main):
6727         Added support for live sources and other elements that
6728         cannot do preroll.
6729         Updated design docs, added live-source design doc.
6730         Implemented live source functionality in basesrc
6731         Fix error condition in _bin_get_state()
6732         Implement live source handling in -launch.
6733         Added check for live sources.
6734         Fixed case in GstBin where elements were changed state
6735         multiple times.
6736
6737
6738 2005-06-23  Andy Wingo  <wingo@pobox.com>
6739
6740         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
6741         borken refcounting.
6742
6743         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
6744         gst_caps_replace takes care of this for us.
6745
6746         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
6747         gst_pad_set_caps on the target, not just its setcaps() function.
6748
6749         * tests/network-clock.scm: 
6750         * tests/network-clock-utils.scm: A network clock simulator.
6751         Something of an algorithmic testbed before doing something in C.
6752
6753 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6754
6755         * check/Makefile.am:
6756         * check/gst/capslist.h:
6757           copy over from 0.8, and add two with bitmasks specified with
6758           (int) 0xFF...
6759         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
6760           add test to parse everything from capslist.h
6761         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
6762         (main):
6763           add test for structure deserialization
6764         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
6765           add tests for deserialization of strings to int types
6766         * gst/gststructure.c: (gst_structure_nth_field_name):
6767         * gst/gststructure.h:
6768           add a way to get the name of a field referenced by index
6769         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6770           instead of checking if the resulting long long lies between
6771           min and max, we check if the long long would fit into
6772           a number of bytes for the final type.
6773           This fixes cases where a string represents 2^32 - 1, which
6774           when cast to int would be the (valid) -1, but is bigger than
6775           G_MAXINT
6776
6777 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * gst/parse/grammar.y:
6780           add a log line for type deserialization
6781
6782 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * check/gst/gstvalue.c: (START_TEST):
6785         * gst/gstvalue.c: (gst_value_deserialize):
6786           return long long, not int, so gint64 deserialization actually
6787           works.  Is there any flag that makes the compiler check this ?
6788           Fixes #308559
6789
6790 2005-06-22  Wim Taymans  <wim@fluendo.com>
6791
6792         * gst/gstbuffer.h:
6793         Added convenience macros for setting buffers in GValue.
6794
6795 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6796
6797         * check/gst/.cvsignore:
6798         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
6799           add a test deserializing int64, and comment part out because
6800           it fails, yay !
6801
6802 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * check/Makefile.am:
6805         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
6806         * testsuite/Makefile.am:
6807         * testsuite/caps/Makefile.am:
6808         * testsuite/caps/value_serialize.c:
6809         * testsuite/test_gst_init.c:
6810           move a value_serialize test over
6811
6812 2005-06-20  Wim Taymans  <wim@fluendo.com>
6813
6814         * gst/gstpad.c:
6815         Small doc updates.
6816         
6817         * gst/gstvalue.c: (gst_value_compare_buffer),
6818         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
6819         (gst_value_compare_flags), (gst_value_serialize_flags),
6820         (gst_value_deserialize_flags), (_gst_value_initialize):
6821         Fix serialisation of buffers, they are not boxed types anymore
6822
6823 2005-06-20  Wim Taymans  <wim@fluendo.com>
6824
6825         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
6826         Testcase to show error in buffer-on-caps serialisation.
6827
6828 2005-06-20  Andy Wingo  <wingo@pobox.com>
6829
6830         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
6831         will be adding to later.
6832
6833         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
6834         if its socks fill with rocks.
6835         (gst_system_clock_obtain): Set the name on object construction.
6836         Avoid double-checked locking.
6837
6838 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
6839
6840         * gst/gsturi.c: (gst_element_make_from_uri):
6841           Fix potential endless loop.
6842
6843 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6844
6845         * check/Makefile.am:
6846           add gsttag
6847         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
6848         (main):
6849           move over from testsuite dir and clean up
6850         * configure.ac:
6851         * gst/gsttag.c:
6852         * testsuite/Makefile.am:
6853         * testsuite/tags/.cvsignore:
6854         * testsuite/tags/Makefile.am:
6855         * testsuite/tags/merge.c:
6856           remove testsuite/tags
6857
6858 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6859
6860         * docs/gst/gstreamer-sections.txt:
6861         * docs/gst/tmpl/gstenumtypes.sgml:
6862         * win32/gstenumtypes.c:
6863           clean up documentation build a little
6864
6865 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6866
6867         * check/gstcheck.h:
6868           add macros for checking refcounts on objects and caps
6869         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
6870           add some more unit tests
6871         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6872         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
6873           fix leaked refcounts (I hope :)) so unittest works
6874         * gst/gstpad.h:
6875           whitespace removal
6876
6877 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6878
6879         * configure.ac: back to HEAD
6880
6881 === release 0.9.1 ===
6882
6883 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6884
6885         * NEWS:
6886         * RELEASE:
6887           updated
6888
6889 2005-06-17  Andy Wingo  <wingo@pobox.com>
6890
6891         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
6892         assert; it's always possible that the pad gets deactivated in
6893         between the checks in gstpad.c and the implementation. Rely on
6894         finish_preroll() to return a FLUSHING or similar instead of on the
6895         assert.
6896         
6897         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
6898         clock and post an EOS message if we come out of finish_preroll in
6899         the playing state.
6900
6901 2005-06-16  David Schleef  <ds@schleef.org>
6902
6903         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6904         (gst_capsfilter_set_property): Allow NULL as possible value
6905         for filter_caps property, indicating GST_CAPS_ANY.
6906
6907 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6908
6909         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
6910           fix debug output
6911         * gst/schedulers/Makefile.am:
6912           use libgst prefix
6913         * gstreamer.spec.in:
6914           fix spec for it
6915
6916 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6917
6918         * gstreamer.spec.in:
6919           clean up
6920
6921 2005-06-08  Andy Wingo  <wingo@pobox.com>
6922
6923         * gst/gstutils.c: RPAD fixes all around.
6924         (gst_element_link_pads): Refcounting fixes.
6925
6926         * tools/gst-inspect.c:
6927         * tools/gst-xmlinspect.c:
6928         * parse/grammar.y:
6929         * gst/base/gsttypefindhelper.c:
6930         * gst/base/gstbasesink.c:
6931         * gst/gstqueue.c: RPAD fixes.
6932
6933         * gst/gstghostpad.h:
6934         * gst/gstghostpad.c: New ghost pad implementation as full proxy
6935         pads. The tricky thing is they provide both source and sink
6936         interfaces, since they proxy the internal pad for the external
6937         pad, and vice versa. Implement with lower-level ProxyPad objects,
6938         with the interior proxy pad as a child of the exterior ghost pad.
6939         Should write a doc on this.
6940         
6941         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
6942         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
6943         gst_object API.
6944         
6945         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
6946         pads are real pads. No ghost pads in this file. Not documenting
6947         the myriad s/RPAD/PAD/ and REALIZE fixes.
6948         (gst_pad_class_init): Add properties for "direction" and
6949         "template". Both are construct-only, so they can't change during
6950         the life of the pad. Fixes properly deriving from GstPad.
6951         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
6952         derived objects, just set properties when creating the objects via
6953         g_object_new.
6954         (gst_pad_get_parent): Implement as a function, return NULL if the
6955         parent is not an element.
6956         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
6957         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
6958         
6959         * gst/gstobject.c (gst_object_class_init): Make name a construct
6960         property. Don't set it in the object init.
6961
6962         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
6963         with UNKNOWN direction.
6964         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
6965         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
6966         (gst_element_remove_pad): Remove ghost-pad special cases.
6967         (gst_element_pads_activate): Remove rpad cruft.
6968
6969         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
6970         catch the pad's-parent-not-an-element case.
6971
6972         * gst/gst.h: Include gstghostpad.h.
6973
6974         * gst/gst.c (init_post): No more real, ghost pads.
6975
6976         * gst/Makefile.am: Add gstghostpad.[ch].
6977
6978         * check/Makefile.am:
6979         * check/gst/gstbin.c:
6980         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
6981         into a bin creates ghost pads, and that the refcounts are right.
6982         Partly moved from gstbin.c.
6983
6984 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6985
6986         * check/gst-libs/.cvsignore:
6987         * check/gst/.cvsignore:
6988         * check/pipelines/.cvsignore:
6989           ignore more
6990         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
6991         (START_TEST), (cleanup_suite), (main):
6992           add some tests related to cleanup after running pipelines
6993
6994 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6995
6996         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
6997           add a testsuite for GstBuffer
6998
6999 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7000
7001         * gst/gstminiobject.h:
7002           add defines for accessing the refcount
7003
7004 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
7005
7006         * Makefile.am: added support for html unit test coverage reports
7007
7008 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
7009
7010         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7011           Free existing caps if the capsfilter changes. Add a FIXME about
7012           setting those caps on the pads.
7013
7014         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
7015           Before adding a ghost pad to a parent bin, check that there isn't
7016           already one for the element on the bin. Prevents infinite recursion
7017           when using decodebin in parse pipelines. Andy says he'll rewrite the
7018           way this works anyway, so ignore the hack.
7019
7020 2005-06-02  Andy Wingo  <wingo@pobox.com>
7021
7022         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
7023         file size, pass it on to the type find helper.
7024
7025         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
7026         segment_start and segment_end properly according to the seek
7027         method. Segment_end is still a bit flaky because offset can be
7028         negative for CUR and END cases, but it takes -1 as an "unset"
7029         value.
7030
7031 2005-06-02  Wim Taymans  <wim@fluendo.com>
7032
7033         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
7034         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
7035         (gst_basesink_activate):
7036         * gst/base/gstbasesink.h:
7037         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7038         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7039         (gst_pad_query), (gst_pad_start_task):
7040         * gst/gstpad.h:
7041         * gst/gstqueue.c: (gst_queue_bufferalloc),
7042         (gst_queue_handle_sink_event), (gst_queue_chain):
7043         Bufferalloc: return GstFlowReturn to more accuratly report
7044         why allocation failed.
7045
7046 2005-06-02  Wim Taymans  <wim@fluendo.com>
7047
7048         * gst/gstpipeline.c: (gst_pipeline_send_event):
7049         Take snapshot of state without blocking.
7050
7051 2005-06-02  Wim Taymans  <wim@fluendo.com>
7052
7053         * docs/design/part-TODO.txt:
7054         * docs/design/part-caps.txt:
7055         * docs/design/part-clocks.txt:
7056         * docs/design/part-negotiation.txt:
7057         * docs/design/part-preroll.txt:
7058         Small doc updates 
7059
7060 2005-05-30  Wim Taymans  <wim@fluendo.com>
7061
7062         * gst/elements/gstidentity.c: (gst_identity_event),
7063         (gst_identity_transform), (gst_identity_get_property):
7064         Protect last_message property as it is accessed from
7065         multiple threads.
7066
7067 2005-05-30  Wim Taymans  <wim@fluendo.com>
7068
7069         * gst/gstelement.c: (gst_element_init),
7070         (gst_element_pads_activate), (gst_element_change_state):
7071         Slicker pad activation code.
7072
7073 2005-05-30  Wim Taymans  <wim@fluendo.com>
7074
7075         * gst/Makefile.am:
7076         * gst/gstelement.h:
7077         * gst/gstelementfactory.h:
7078         * gst/gsttypes.h:
7079         Move elementfactory methods to separate .h file.
7080
7081 2005-05-30  Wim Taymans  <wim@fluendo.com>
7082
7083         * docs/design/part-overview.txt:
7084         * gst/gstsystemclock.h:
7085         Small typo fixes, doc updates.
7086
7087 2005-05-30  Wim Taymans  <wim@fluendo.com>
7088
7089         * gst/gst.c: (gst_init_get_popt_table), (init_post),
7090         (init_popt_callback):
7091         Remove cpu-opt flag.
7092
7093 2005-05-30  Wim Taymans  <wim@fluendo.com>
7094
7095         * gst/gstbuffer.c: (gst_subbuffer_finalize),
7096         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
7097         * gst/gstbuffer.h:
7098         Avoid typechecking in places where not needed.
7099         Added accessor for malloc_data.
7100
7101 2005-05-30  Wim Taymans  <wim@fluendo.com>
7102
7103         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
7104         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
7105         (gst_pad_configure_sink), (gst_pad_configure_src),
7106         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
7107         (gst_pad_start_task):
7108         Propagate errors from _set_caps() in configure_src/sink
7109         functions instead of returning TRUE.
7110         FLUSH events can travel up and downstream
7111
7112
7113 2005-05-30  Wim Taymans  <wim@fluendo.com>
7114
7115         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7116         (gst_basesink_activate):
7117         Handle EOS in preroll.
7118
7119 2005-05-30  Wim Taymans  <wim@fluendo.com>
7120
7121         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7122         (gst_queue_loop), (gst_queue_handle_src_event):
7123         Remove old pieces of code
7124         Flushing the queue in an upstream event is a very bad idea.
7125
7126 2005-05-26  Andy Wingo  <wingo@pobox.com>
7127
7128         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
7129         gst_value_set_mini_object so as to add a ref on the object (which
7130         will be removed when the value is unset).
7131
7132         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
7133         arg type in ::handoff.
7134
7135         * gst/gstelement.c (gst_element_change_state): Also deactivate
7136         pads in READY->NULL, just in case the element didn't make it to
7137         PAUSED. Wingo tested, Wim approved.
7138
7139 2005-05-26  Wim Taymans  <wim@fluendo.com>
7140
7141         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7142         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7143         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
7144         A flushing pad cannot be used to alloc_buffer from.
7145
7146 2005-05-26  Wim Taymans  <wim@fluendo.com>
7147
7148         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7149         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
7150         (gst_bus_source_dispatch), (gst_bus_source_finalize),
7151         (gst_bus_create_watch), (gst_bus_add_watch_full):
7152         * gst/gstbus.h:
7153         Implement a real GSource and use g_main_context_wakeup() to
7154         signal new messages instead of the socketpair.
7155
7156 2005-05-25  Wim Taymans  <wim@fluendo.com>
7157
7158         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
7159         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
7160         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7161         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7162         (gst_pad_send_event), (gst_pad_start_task):
7163         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
7164         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7165         (gst_queue_sink_activate), (gst_queue_src_activate),
7166         (gst_queue_change_state):
7167         * gst/gstqueue.h:
7168         Fix state changes for non sinks. We now change sinks, then elements
7169         with unconnected srcpads, then the rest.
7170         More efficient queue unlocking in flush and state changes.
7171         Set the pad activate mode even if it does not have an activate
7172         function.
7173
7174 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7175
7176         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
7177           Don't go in pull mode for non-seekable sources.
7178         * gst/elements/gsttypefindelement.h:
7179         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7180         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
7181         (free_entry), (stop_typefinding),
7182         (gst_type_find_element_handle_event), (find_peek),
7183         (gst_type_find_element_chain), (do_pull_typefind),
7184         (gst_type_find_element_change_state):
7185           Allow typefinding (w/o seeking) in push-mode, simplified version
7186           of what was in 0.8.
7187         * gst/gstutils.c: (gst_buffer_join):
7188         * gst/gstutils.h:
7189           gst_buffer_join() from 0.8.
7190
7191 2005-05-25  Wim Taymans  <wim@fluendo.com>
7192
7193         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7194         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7195         (gst_pad_send_event), (gst_pad_start_task):
7196         Disable attempt at mode switching until it is figured out.
7197
7198 2005-05-25  Wim Taymans  <wim@fluendo.com>
7199
7200         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
7201         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7202         (gst_basesink_finish_preroll), (gst_basesink_chain),
7203         (gst_basesink_loop), (gst_basesink_activate),
7204         (gst_basesink_change_state):
7205         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
7206         (gst_basesrc_get_range), (gst_basesrc_loop),
7207         (gst_basesrc_activate):
7208         * gst/elements/gsttee.c: (gst_tee_sink_activate):
7209         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
7210         (gst_real_pad_init), (gst_real_pad_set_property),
7211         (gst_real_pad_get_property), (gst_pad_set_active),
7212         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
7213         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
7214         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
7215         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
7216         (gst_pad_event_default_dispatch), (gst_pad_event_default),
7217         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
7218         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
7219         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
7220         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
7221         (gst_pad_stop_task):
7222         * gst/gstpad.h:
7223         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7224         (gst_queue_loop), (gst_queue_src_activate):
7225         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
7226         (gst_task_get_state):
7227         * gst/gsttask.h:
7228         * gst/schedulers/threadscheduler.c:
7229         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
7230         Implement gst_pad_pause/start/stop_task(), take STREAM lock
7231         in task function.
7232         Remove ACTIVE pad flag, use FLUSHING everywhere
7233         Added _pad_chain(), _pad_get_range() to call chain/getrange 
7234         functions.
7235         Add locks around IS_FLUSHING when reading.
7236         Take STREAM lock in chain(), get_range() functions so plugins
7237         don't need to take it anymore.
7238         
7239
7240
7241 2005-05-25  Wim Taymans  <wim@fluendo.com>
7242
7243         * tools/gst-launch.c: (event_loop):
7244         Unref message after using its contents instead of
7245         before.
7246
7247 2005-05-24  Wim Taymans  <wim@fluendo.com>
7248
7249         * docs/design/draft-ghostpads.txt:
7250         * docs/design/draft-push-pull.txt:
7251         * docs/design/draft-query.txt:
7252         * docs/design/part-overview.txt:
7253         Docs updates, added general overview doc.
7254
7255 2005-05-21  David Schleef  <ds@schleef.org>
7256
7257         * docs/gst/tmpl/old/GstBin.sgml:
7258         * docs/gst/tmpl/old/GstBuffer.sgml:
7259         * docs/gst/tmpl/old/GstCaps.sgml:
7260         * docs/gst/tmpl/old/GstClock.sgml:
7261         * docs/gst/tmpl/old/GstCompat.sgml:
7262         * docs/gst/tmpl/old/GstData.sgml:
7263         * docs/gst/tmpl/old/GstElement.sgml:
7264         * docs/gst/tmpl/old/GstEvent.sgml:
7265         * docs/gst/tmpl/old/GstIndex.sgml:
7266         * docs/gst/tmpl/old/GstStructure.sgml:
7267         * docs/gst/tmpl/old/GstTag.sgml:
7268         * docs/gst/tmpl/old/cothreads.sgml:
7269         * docs/gst/tmpl/old/cothreads_compat.sgml:
7270         * docs/gst/tmpl/old/gettext.sgml:
7271         * docs/gst/tmpl/old/gobject2gtk.sgml:
7272         * docs/gst/tmpl/old/grammar.tab.sgml:
7273         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7274         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7275         * docs/gst/tmpl/old/gst_private.sgml:
7276         * docs/gst/tmpl/old/gstaggregator.sgml:
7277         * docs/gst/tmpl/old/gstarch.sgml:
7278         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7279         * docs/gst/tmpl/old/gstbufferstore.sgml:
7280         * docs/gst/tmpl/old/gstdata_private.sgml:
7281         * docs/gst/tmpl/old/gstdisksink.sgml:
7282         * docs/gst/tmpl/old/gstdisksrc.sgml:
7283         * docs/gst/tmpl/old/gstelementfactory.sgml:
7284         * docs/gst/tmpl/old/gstextratypes.sgml:
7285         * docs/gst/tmpl/old/gstfakesink.sgml:
7286         * docs/gst/tmpl/old/gstfakesrc.sgml:
7287         * docs/gst/tmpl/old/gstfdsink.sgml:
7288         * docs/gst/tmpl/old/gstfdsrc.sgml:
7289         * docs/gst/tmpl/old/gstfilesink.sgml:
7290         * docs/gst/tmpl/old/gstfilesrc.sgml:
7291         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7292         * docs/gst/tmpl/old/gstidentity.sgml:
7293         * docs/gst/tmpl/old/gstindexfactory.sgml:
7294         * docs/gst/tmpl/old/gstmarshal.sgml:
7295         * docs/gst/tmpl/old/gstmd5sink.sgml:
7296         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7297         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7298         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7299         * docs/gst/tmpl/old/gstpipefilter.sgml:
7300         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7301         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7302         * docs/gst/tmpl/old/gstshaper.sgml:
7303         * docs/gst/tmpl/old/gstspider.sgml:
7304         * docs/gst/tmpl/old/gstspideridentity.sgml:
7305         * docs/gst/tmpl/old/gststatistics.sgml:
7306         * docs/gst/tmpl/old/gsttee.sgml:
7307         * docs/gst/tmpl/old/gsttimecache.sgml:
7308         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7309         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7310         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7311         * docs/gst/tmpl/old/types.sgml:
7312           I didn't intend to add these or check them in.
7313
7314 2005-05-19  David Schleef  <ds@schleef.org>
7315
7316         * configure.ac: Use -no-common everywhere.  In a sane world, it
7317           would be the default in libtool, because without it, you can't
7318           build DLLs on Windows.
7319         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
7320         * docs/gst/gstreamer-sections.txt:
7321         * docs/gst/tmpl/gstcpu.sgml:
7322         * docs/gst/tmpl/gstdata.sgml:
7323         * docs/gst/tmpl/gstthread.sgml:
7324
7325 2005-05-19  David Schleef  <ds@schleef.org>
7326
7327         * gst/gstminiobject.c: (gst_value_set_mini_object),
7328         (gst_value_take_mini_object), (gst_value_get_mini_object):
7329         * gst/gstminiobject.h: Add GValue set/get functions.
7330
7331 2005-05-19  Wim Taymans  <wim@fluendo.com>
7332
7333         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
7334         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
7335         (gst_subbuffer_init), (gst_buffer_is_span_fast):
7336         * gst/gstbuffer.h:
7337         * gst/gstbus.c: (gst_bus_post):
7338         * gst/gstelement.c: (gst_element_get_random_pad):
7339         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
7340         Make subbufer unref the parent in finalize.
7341         some more debugging info.
7342
7343
7344 2005-05-19  Wim Taymans  <wim@fluendo.com>
7345
7346         * gst/base/gstbasesink.c: (gst_basesink_class_init),
7347         (gst_basesink_init), (gst_basesink_finalize),
7348         (gst_basesink_activate), (gst_basesink_change_state):
7349         Don't free preroll queue too early.
7350
7351 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7352
7353         * gst/Makefile.am:
7354         * gst/ROADMAP:
7355           Hi, I'm outdated. Please shoot me.
7356
7357 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7358
7359         * gst/gstpipeline.c: (gst_pipeline_send_event):
7360           Do not access variables after they have been deleted.
7361
7362 2005-05-19  Wim Taymans  <wim@fluendo.com>
7363
7364         * tools/gst-inspect.c: (print_plugin_features):
7365         A plugin feature does unfortunatly not use the
7366         object name yet...
7367
7368 2005-05-18  Wim Taymans  <wim@fluendo.com>
7369
7370         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
7371         Port _span() functions to new subbuffers.
7372
7373 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7374
7375         * gst/gstbin.c: (gst_bin_add_func):
7376           Fix clock settery in bins when adding kids after the clock has
7377           been selected.
7378
7379 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7380
7381         * gst/elements/gstidentity.c: (gst_identity_class_init):
7382           Workaround until signals support GstMiniObject.
7383
7384 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
7385
7386         * gst/gstbuffer.c:
7387         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
7388
7389 2005-05-18  Wim Taymans  <wim@fluendo.com>
7390
7391         * gst/base/Makefile.am:
7392         * gst/base/gstadapter.c: (gst_adapter_base_init),
7393         (gst_adapter_class_init), (gst_adapter_init),
7394         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
7395         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
7396         (gst_adapter_flush), (gst_adapter_available),
7397         (gst_adapter_available_fast):
7398         * gst/base/gstadapter.h:
7399         Ported and added adapter to the base classes.
7400
7401 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7402
7403         * gst/gst.c:
7404         * gst/gstmessage.c:
7405           Make sure the class is reffed/unreffed once before threads can be
7406           used.  Fixes #304551.
7407
7408 2005-05-17  Wim Taymans  <wim@fluendo.com>
7409
7410         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
7411         (gst_basesink_chain_unlocked), (gst_basesink_activate):
7412         * gst/gstminiobject.c: (gst_mini_object_get_type),
7413         (gst_mini_object_free):
7414         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
7415         (gst_pad_push), (gst_pad_push_event):
7416         * gst/gstqueue.c: (gst_queue_change_state):
7417         Don't queue buffers in basesink when we are flushing.
7418         Unref buffer when flushing in basesink.
7419         Flush queue when going to READY
7420         Unref buffer when _push() returns an error.
7421         Don't free MiniObject instance when refcount is incremented
7422         in _finalize() so that we can recover objects.
7423
7424 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7425
7426         * docs/manual/advanced-schedulers.xml:
7427         * docs/manual/appendix-checklist.xml:
7428         * docs/pwg/advanced-clock.xml:
7429         * docs/pwg/advanced-interfaces.xml:
7430         * docs/pwg/advanced-request.xml:
7431         * docs/pwg/advanced-types.xml:
7432         * docs/pwg/intro-preface.xml:
7433         * examples/plugins/example.c: (gst_example_get_type),
7434         (gst_example_class_init), (gst_example_chain),
7435         (gst_example_set_property), (gst_example_get_property),
7436         (gst_example_change_state), (plugin_init):
7437         * examples/plugins/example.h:
7438           small doc fixes
7439
7440 2005-05-17  Wim Taymans  <wim@fluendo.com>
7441
7442         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
7443         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
7444         * gst/gstqueue.c: (gst_queue_change_state):
7445         Clear queue when going to READY.
7446         Remove IN_SETCAPS flag too.
7447
7448 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
7449
7450         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
7451           Remove implicit cast from gboolean to GstElementStateReturn;
7452           make sure we still return failure in paused => ready case if
7453           the parent class fails to change state and our own stop 
7454           vfunc succeeds.
7455
7456 2005-05-17  Wim Taymans  <wim@fluendo.com>
7457
7458         * tools/gst-launch.c: (event_loop):
7459         Message was unreffed too soon.
7460
7461 2005-05-16  Andy Wingo  <wingo@pobox.com>
7462
7463         * gst/gstbin.c (sink_iterator_filter): Err... um...
7464
7465         * check/gst/gstbin.c (test_ghost_pads): New test for the
7466         ghosting-if-elements-not-in-same-bin behavior.
7467
7468 2005-05-16  David Schleef  <ds@schleef.org>
7469
7470         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
7471         accessing refcount directly.
7472
7473 2005-05-15  David Schleef  <ds@schleef.org>
7474
7475         * check/Makefile.am: remove GstData checks
7476         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
7477         * gst/Makefile.am: add miniobject, remove data
7478         * gst/gst.h: add miniobject, remove data
7479         * gst/gstdata.c: remove
7480         * gst/gstdata.h: remove
7481         * gst/gstdata_private.h: remove
7482         * gst/gsttypes.h: remove GstEvent and GstMessage
7483         * gst/gstelement.c: (gst_element_post_message): fix for API changes
7484         * gst/gstmarshal.list: change BOXED -> OBJECT
7485
7486         Implement GstMiniObject.
7487         * gst/gstminiobject.c:
7488         * gst/gstminiobject.h:
7489
7490         Modify to be subclasses of GstMiniObject.
7491         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
7492         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
7493         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
7494         (gst_subbuffer_get_type), (gst_subbuffer_init),
7495         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
7496         (gst_buffer_span):
7497         * gst/gstbuffer.h:
7498         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
7499         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
7500         (_gst_event_copy), (gst_event_new):
7501         * gst/gstevent.h:
7502         * gst/gstmessage.c: (_gst_message_initialize),
7503         (gst_message_get_type), (gst_message_class_init),
7504         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
7505         (gst_message_new), (gst_message_new_error),
7506         (gst_message_new_warning), (gst_message_new_tag),
7507         (gst_message_new_state_changed), (gst_message_new_application):
7508         * gst/gstmessage.h:
7509         * gst/gstprobe.c: (gst_probe_perform),
7510         (gst_probe_dispatcher_dispatch):
7511         * gst/gstprobe.h:
7512         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
7513         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
7514         (_gst_query_copy), (gst_query_new):
7515
7516         Update elements for GstData -> GstMiniObject changes
7517         * gst/gstquery.h:
7518         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
7519         (gst_queue_chain), (gst_queue_loop):
7520         * gst/elements/gstbufferstore.c:
7521         (gst_buffer_store_add_buffer_func),
7522         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
7523         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7524         (gst_fakesink_render):
7525         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7526         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
7527         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
7528         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
7529         (gst_filesrc_create_read):
7530         * gst/elements/gstidentity.c: (gst_identity_class_init):
7531         * gst/elements/gsttypefindelement.c:
7532         (gst_type_find_element_src_event), (free_entry_buffers),
7533         (gst_type_find_element_handle_event):
7534         * libs/gst/dataprotocol/dataprotocol.c:
7535         (gst_dp_header_from_buffer):
7536         * libs/gst/dataprotocol/dataprotocol.h:
7537         * libs/gst/dataprotocol/dp-private.h:
7538
7539 2005-05-15  David Schleef  <ds@schleef.org>
7540
7541         * gst/elements/gstelements.c: Don't include headers that were
7542         just removed.
7543
7544 2005-05-15  David Schleef  <ds@schleef.org>
7545
7546         * gst/elements/Makefile.am: Remove some elements that don't
7547         need to be in the core (or even exist at all).
7548         * gst/elements/gstaggregator.c:
7549         * gst/elements/gstaggregator.h:
7550         * gst/elements/gstmd5sink.c:
7551         * gst/elements/gstmd5sink.h:
7552         * gst/elements/gstmultifilesrc.c:
7553         * gst/elements/gstmultifilesrc.h:
7554         * gst/elements/gstpipefilter.c:
7555         * gst/elements/gstpipefilter.h:
7556         * gst/elements/gstshaper.c:
7557         * gst/elements/gstshaper.h:
7558         * gst/elements/gststatistics.c:
7559         * gst/elements/gststatistics.h:
7560         * po/POTFILES.in: Remove above files.
7561
7562 2005-05-14  Andy Wingo  <wingo@pobox.com>
7563
7564         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
7565         so as to get the refs right.
7566         (sink_iterator_filter): New function, wraps bin_element_is_sink,
7567         unreffing objects that don't pass the filter.
7568
7569         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
7570         gst_element_set_bus.
7571         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
7572         normal cases, this will destroy the bus.
7573
7574         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
7575         object.
7576
7577         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
7578         has no sinks.
7579
7580 2005-05-13  Andy Wingo  <wingo@pobox.com>
7581
7582         * gst/gstutils.c (gst_element_link_pads): Instead of calling
7583         gst_pad_link, call pad_link_maybe_ghosting,
7584         (pad_link_maybe_ghosting): Links pads, making sure that the
7585         elements being linked are in the same bin.
7586         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
7587         Helpers for pad_link_maybe_ghosting.
7588
7589 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
7590
7591         * configure.ac:
7592           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
7593
7594 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
7595
7596         * docs/design/part-element-source.txt:
7597           Mention GstPushSrc
7598
7599 2005-05-12  Wim Taymans  <wim@fluendo.com>
7600
7601         * gst/base/gstbasesink.c: (gst_basesink_init),
7602         (gst_basesink_activate):
7603         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
7604         (gst_basesrc_is_seekable):
7605         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7606         (bin_element_is_sink), (gst_bin_change_state):
7607         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
7608         * gst/gstelement.h:
7609         Identify sinks by their flag to avoid overly complicated
7610         checks (fow now).
7611         Do state changes even for elements not reachable from the
7612         sinks.
7613         BaseSink is a sink now :)
7614         Some more debugging info in the basesrc.
7615
7616
7617 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7618
7619         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
7620           Implement _query on a bin, similar to _send_event.
7621
7622 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
7623
7624         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
7625           Discont event offset format should be GST_FORMAT_BYTES,
7626           not GST_FORMAT_TIME.
7627
7628 2005-05-12  Wim Taymans  <wim@fluendo.com>
7629
7630         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
7631         Same fix as Ronald's but without the signal. 
7632
7633 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7634
7635         * gst/gstutils.c: (gst_element_query_position):
7636           No, an element is not a pad.
7637
7638 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7639
7640         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
7641         (gst_bin_get_state):
7642           If a child is removed from a bin while we remove the child from
7643           the bin and while we're retrieving its state, signal this to the
7644           get_state function so we abort the wait (instead of waiting for
7645           a timeout) and can immediately re-iterate over all other elements.
7646
7647 2005-05-12  Wim Taymans  <wim@fluendo.com>
7648
7649         * gst/base/Makefile.am:
7650         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
7651         (gst_basesrc_start):
7652         * gst/base/gstbasesrc.h:
7653         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
7654         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
7655         (gst_pushsrc_init), (gst_pushsrc_create):
7656         * gst/base/gstpushsrc.h:
7657         Added is_seekable to BaseSrc
7658         Added simple PushSrc.
7659
7660 2005-05-11  Wim Taymans  <wim@fluendo.com>
7661
7662         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
7663         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7664         (gst_element_link_pads), (gst_element_query_position),
7665         (gst_element_query_convert), (intersect_caps_func),
7666         (gst_pad_query_position), (gst_pad_query_convert):
7667         Fix refcounting in utils function.
7668         No point in trying to activate a pad when it's added, it could
7669         be added from the state change function and then we deadlock, the
7670         element has to decide what to do.
7671
7672 2005-05-10  Andy Wingo  <wingo@pobox.com>
7673
7674         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
7675         *all* the arguments.
7676
7677         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
7678         stream lock if it's a FLUSH_DONE; normal flushes don't get the
7679         lock (according to the docs -- if this is wrong change the docs).
7680
7681         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
7682         flush messages in the NULL state.
7683
7684         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
7685         message immediately and return.
7686         (gst_bus_set_flushing): New function. If a bus is flushing, it
7687         flushes out any queued messages and immediately unrefs new
7688         messages. This is so when an element goes to NULL, all of the
7689         unhandled messages coming from it can be freed, and their
7690         references to the element dropped. In other words: message source
7691         ref considered harmful :P
7692
7693         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
7694         we're finished with it.
7695
7696         * gst/gstmessage.c (gst_message_new_state_changed): 
7697
7698 2005-05-10  Wim Taymans  <wim@fluendo.com>
7699
7700         * gst/gstvalue.c: (gst_value_compare_flags),
7701         (gst_value_serialize_flags), (gst_value_deserialize_flags),
7702         (_gst_value_initialize):
7703         Added flags serialize/deserialize/compare code.
7704
7705 2005-05-09  Andy Wingo  <wingo@pobox.com>
7706
7707         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
7708         Intersect the peer's caps with our caps.
7709
7710 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7711
7712         * gst/base/gsttypefindhelper.c: (helper_find_peek):
7713         * gst/elements/gsttypefindelement.c: (find_peek):
7714           Handle negative offsets better. Fixes decodebin.
7715
7716 2005-05-09  Wim Taymans  <wim@fluendo.com>
7717
7718         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
7719         (gst_base_transform_event):
7720         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
7721         Implement accept_caps.
7722         Fix silly lock/unlock mismatch in base class.
7723
7724 2005-05-09  Wim Taymans  <wim@fluendo.com>
7725
7726         * docs/design/draft-push-pull.txt:
7727         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
7728         * gst/elements/gstfilesink.c: (gst_filesink_init),
7729         (gst_filesink_query):
7730         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7731         (gst_type_find_handle_src_query), (find_element_get_length):
7732         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
7733         * gst/gstelement.h:
7734         * gst/gstmessage.c:
7735         * gst/gstmessage.h:
7736         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
7737         (gst_real_pad_get_caps_unlocked),
7738         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
7739         (gst_pad_event_default_dispatch), (gst_pad_event_default),
7740         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
7741         (gst_real_pad_dispose), (gst_real_pad_finalize),
7742         (gst_pad_load_and_link), (gst_pad_save_thyself),
7743         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
7744         (gst_pad_check_pull_range), (gst_pad_pull_range),
7745         (gst_pad_template_get_type), (gst_pad_template_class_init),
7746         (gst_pad_template_init), (gst_pad_template_dispose),
7747         (name_is_valid), (gst_static_pad_template_get),
7748         (gst_pad_template_new), (gst_static_pad_template_get_caps),
7749         (gst_pad_template_get_caps), (gst_pad_set_element_private),
7750         (gst_pad_get_element_private), (gst_pad_start_task),
7751         (gst_pad_pause_task), (gst_pad_stop_task),
7752         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
7753         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
7754         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
7755         (gst_ghost_pad_new):
7756         * gst/gstpad.h:
7757         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
7758         (gst_query_new_position), (gst_query_set_position),
7759         (gst_query_parse_position), (gst_query_new_convert),
7760         (gst_query_set_convert), (gst_query_parse_convert):
7761         * gst/gstquery.h:
7762         * gst/gstqueryutils.c:
7763         * gst/gstqueryutils.h:
7764         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7765         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
7766         (gst_queue_handle_src_query):
7767         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7768         (gst_element_query_position), (gst_element_query_convert),
7769         (intersect_caps_func), (gst_pad_query_position),
7770         (gst_pad_query_convert):
7771         * gst/gstutils.h:
7772         * tools/gst-inspect.c: (print_pad_info):
7773         * tools/gst-xmlinspect.c: (print_element_info):
7774         Remove old query functions. Ported old code.
7775         Added position/convert helper functions to gstutils.
7776         Reordered gstpad.c code, grouping relevant things.
7777         Remove gst_message_new(), always need to speficy a specific
7778         message.
7779
7780
7781 2005-05-09  Andy Wingo  <wingo@pobox.com>
7782
7783         * gst/gstiterator.h: Add some includes.
7784
7785         * gst/gstqueryutils.h: Include more headers.
7786
7787         * gst/gstpad.h:
7788         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
7789         some uses of gst_pad_query.
7790
7791         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
7792         NULL out parameters.
7793         (gst_query_new_position): New proc, allocates a new position
7794         query.
7795
7796         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
7797         gstqueryutils.c to the build.
7798
7799         * gst/gststructure.c (gst_structure_set_valist): Implement with
7800         the generic G_VALUE_COLLECT.
7801         
7802 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
7803
7804         * gst/Makefile.am: (gst_headers):
7805         Added gstqueryutils.h to the list of headers to install, that was
7806         a 'nachty' move wingo :)
7807
7808 2005-05-06  Andy Wingo  <wingo@pobox.com>
7809
7810         * gst/gstquery.h
7811         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
7812         GstData, init a memchunk.
7813         (standard_definitions): Add a few query types, deprecate a few.
7814         (gst_query_get_type): New proc.
7815         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
7816         implementation.
7817         (gst_query_new_application, gst_query_get_structure): New public
7818         procs.
7819
7820         * docs/design/draft-query.txt: Removed LINKS from the query types,
7821         because all the rest can be dispatched to other pads -- seemed
7822         ugly to have a query that couldn't be dispatched. internal_links
7823         is fine as a pad method.
7824
7825         * gst/gstpad.h: Add query2 as a pad method, add the new functions
7826         in gstpad.c, but maintain binary compatibility for the moment.
7827         Will fix before 0.9 is out.
7828
7829         * gst/gstqueryutils.c: 
7830         * gst/gstqueryutils.h: New files, implement 3 methods for each
7831         query type: parse_query, parse_response, and set. Probably need an
7832         allocator as well.
7833
7834         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
7835
7836         * gst/elements/gstfilesink.c (gst_filesink_query2):
7837         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
7838         query_types, and formats methods.
7839
7840         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
7841         (gst_pad_set_query2_function): New functions.
7842         (gst_real_pad_init): Set query2_default as the default query2
7843         function. Basically just dispatches to internally linked pads.
7844
7845         Needs review!
7846         
7847         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
7848         without using the atomic operations. Only one thread can possibly
7849         be accessing the data at this point. Changed so as to avoid
7850         gst_atomic operations.
7851
7852 2005-05-06  Wim Taymans  <wim@fluendo.com>
7853
7854         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
7855         Also set caps if we use the fallback buffer alloc.
7856
7857 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
7858
7859         * docs/gst/Makefile.am:
7860         * docs/gst/gstreamer-docs.sgml:
7861         * docs/gst/gstreamer-sections.txt:
7862         * docs/gst/tmpl/gstatomic.sgml:
7863         * docs/gst/tmpl/gstmemchunk.sgml:
7864         * testsuite/elements/struct_i386.h:
7865         * win32/GStreamer.vcproj:
7866         * win32/Makefile:
7867           Purge GstAtomic stuff from docs and win32 makefiles as well
7868
7869 2005-05-06  Wim Taymans  <wim@fluendo.com>
7870
7871         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
7872         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
7873         * gst/gstpad.c: (gst_pad_peer_get_caps):
7874         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7875         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
7876         (gst_queue_src_activate), (gst_queue_change_state):
7877         * gst/gstqueue.h:
7878         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7879         (intersect_caps_func):
7880         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
7881         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
7882         Some fixes for the peer_get_caps() change.
7883
7884 2005-05-06  Wim Taymans  <wim@fluendo.com>
7885
7886         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7887         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
7888         (gst_basesink_activate):
7889         Actually do something with error codes returned from the push
7890         functions.
7891
7892 2005-05-06  Wim Taymans  <wim@fluendo.com>
7893
7894         * docs/design/part-element-sink.txt:
7895         * docs/design/part-element-source.txt:
7896         * gst/base/gstbasesink.c: (gst_basesink_class_init),
7897         (gst_basesink_event), (gst_basesink_activate):
7898         * gst/base/gstbasesink.h:
7899         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
7900         (gst_basesrc_activate):
7901         * gst/base/gstbasesrc.h:
7902         * gst/gstelement.c: (gst_element_pads_activate):
7903         Some more documentation.
7904         Fixed scheduling decision in _pads_activate().
7905
7906 2005-05-05  Andy Wingo  <wingo@pobox.com>
7907
7908         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
7909         the test suite.
7910
7911 2005-05-05  Wim Taymans  <wim@fluendo.com>
7912
7913         * gst/base/Makefile.am:
7914         * gst/base/gstbasesink.h:
7915         * gst/base/gstbasesrc.c: (gst_basesrc_init),
7916         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
7917         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
7918         (gst_collectpads_class_init), (gst_collectpads_init),
7919         (gst_collectpads_finalize), (gst_collectpads_new),
7920         (gst_collectpads_set_function), (gst_collectpads_add_pad),
7921         (find_pad), (gst_collectpads_remove_pad),
7922         (gst_collectpads_is_active), (gst_collectpads_collect),
7923         (gst_collectpads_collect_range), (gst_collectpads_start),
7924         (gst_collectpads_stop), (gst_collectpads_peek),
7925         (gst_collectpads_pop), (gst_collectpads_available),
7926         (gst_collectpads_read), (gst_collectpads_flush),
7927         (gst_collectpads_chain):
7928         * gst/base/gstcollectpads.h:
7929         * gst/elements/Makefile.am:
7930         * gst/elements/gstelements.c:
7931         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7932         (gst_fakesink_get_times), (gst_fakesink_event),
7933         (gst_fakesink_preroll), (gst_fakesink_render):
7934         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7935         (gst_filesink_init), (gst_filesink_set_location),
7936         (gst_filesink_open_file), (gst_filesink_close_file),
7937         (gst_filesink_pad_query), (gst_filesink_event),
7938         (gst_filesink_render), (gst_filesink_change_state):
7939         * gst/elements/gstfilesink.h:
7940         Added object to help in making collect pad based elements.
7941         Ported filesink.
7942         Make event function in sink baseclass return gboolean.
7943
7944 2005-05-05  Wim Taymans  <wim@fluendo.com>
7945
7946         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
7947         (gst_bin_get_by_name):
7948         * gst/gstbuffer.h:
7949         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
7950         (gst_clock_finalize):
7951         * gst/gstdata.c: (gst_data_replace):
7952         * gst/gstdata.h:
7953         * gst/gstelement.c: (gst_element_request_pad),
7954         (gst_element_pads_activate):
7955         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7956         (gst_object_unref):
7957         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7958         (gst_pad_set_checkgetrange_function),
7959         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
7960         (gst_pad_check_pull_range), (gst_pad_pull_range),
7961         (gst_static_pad_template_get_caps), (gst_pad_start_task),
7962         (gst_pad_pause_task), (gst_pad_stop_task):
7963         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7964         (gst_element_request_pad), (gst_pad_proxy_getcaps):
7965         Fix name lookup in GstBin.
7966         Added _data_replace() function and _buffer_replace()
7967         Use finalize method to clean up clock.
7968         Fix refcounting on request pads.
7969         Fix pad schedule mode error.
7970         Some more object refcounting debug info,
7971
7972
7973 2005-05-04  Andy Wingo <wingo@pobox.com>
7974
7975         * check/Makefile.am:
7976         * docs/gst/tmpl/gstatomic.sgml:
7977         * docs/gst/tmpl/gstplugin.sgml:
7978         * gst/base/gstbasesink.c: (gst_basesink_activate):
7979         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
7980         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
7981         (gst_basesrc_query), (gst_basesrc_set_property),
7982         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
7983         (gst_basesrc_activate):
7984         * gst/base/gstbasesrc.h:
7985         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
7986         (gst_base_transform_src_activate):
7987         * gst/elements/gstelements.c:
7988         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7989         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
7990         * gst/elements/gsttee.c: (gst_tee_sink_activate):
7991         * gst/elements/gsttypefindelement.c: (find_element_get_length),
7992         (gst_type_find_element_checkgetrange),
7993         (gst_type_find_element_activate):
7994         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
7995         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
7996         (gst_caps_load_thyself):
7997         * gst/gstelement.c: (gst_element_pads_activate),
7998         (gst_element_save_thyself), (gst_element_restore_thyself):
7999         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
8000         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
8001         * gst/gstpad.h:
8002         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
8003         (gst_xml_parse_file), (gst_xml_parse_memory),
8004         (gst_xml_get_element), (gst_xml_make_element):
8005         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8006         (_file_index_id_save_xml), (gst_file_index_commit):
8007         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
8008         (read_enum), (load_pad_template), (load_feature), (load_plugin),
8009         (load_paths):
8010         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
8011         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
8012         * tools/gst-complete.c: (main):
8013         * tools/gst-compprep.c: (main):
8014         * tools/gst-inspect.c: (print_element_properties_info):
8015         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8016         * tools/gst-xmlinspect.c: (print_element_properties):
8017         GCC 4 fixen.
8018         
8019 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8020
8021         * gst/gstplugin.c: (gst_plugin_check_module),
8022         (gst_plugin_check_file), (gst_plugin_load_file):
8023             apply patch from #172526 to make register work on MacOSX
8024
8025 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8026
8027         * docs/gst/tmpl/gstconfig.sgml:
8028         * gst/gstconfig.h.in:
8029           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
8030         * testsuite/debug/printf_extension.c: (main):
8031           Do not use GST_PTR_FORMAT on pointers to types with
8032           sizeof < sizeof(gpointer).  Fixes test on 64-bit
8033         * testsuite/elements/property.h:
8034           use correct printf format
8035
8036 2005-05-02  Wim Taymans  <wim@fluendo.com>
8037
8038         * docs/design/draft-push-pull.txt:
8039         * docs/design/draft-query.txt:
8040         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
8041         (gst_basesrc_start):
8042         Added draft for new query API.
8043         Added draft for better selecting scheduling methods.
8044         Make basesrc ignore length if the subclass does not support
8045         it.
8046
8047 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * gst/Makefile.am:
8050           possible fixes for automake-1.5 - _LIBADD is reserved
8051
8052 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8053
8054         * docs/faq/Makefile.am:
8055         * docs/manual/Makefile.am:
8056         * docs/manuals.mak:
8057         * docs/pwg/Makefile.am:
8058         * gst/Makefile.am:
8059           possible fixes for automake-1.5
8060
8061 2005-04-28  Wim Taymans  <wim@fluendo.com>
8062
8063         * gst/base/gstbasesink.c: (gst_basesink_base_init),
8064         (gst_basesink_pad_getcaps), (gst_basesink_init),
8065         (gst_basesink_do_sync):
8066         * gst/gstclock.c: (gst_clock_entry_new):
8067         * gst/gstevent.c: (gst_event_discont_get_value):
8068         * gst/gstpipeline.c: (pipeline_bus_handler),
8069         (gst_pipeline_change_state):
8070         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8071         Better debugging of clocking info.
8072         Allow NULL values when getting discont values.
8073
8074 2005-04-27  Wim Taymans  <wim@fluendo.com>
8075
8076         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
8077         * check/gst/gstpad.c: (gst_pad_suite):
8078         Increase timeout for checks.
8079
8080 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8081
8082         * check/Makefile.am:
8083           fix the broken rule for cleanup.  Apparently this rule is
8084           only needed on FC2, so maybe this warrants further autotool
8085           inspection.
8086
8087 2005-04-26  Wim Taymans  <wim@fluendo.com>
8088
8089         * gst/gsttrashstack.h:
8090         Ooohh. a nasty one! After having a failed pop() from the stack,
8091         it's possible that the stack is empty. In that case, don't
8092         follow the NULL pointer.
8093
8094 2005-04-25  Wim Taymans  <wim@fluendo.com>
8095
8096         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8097         (gst_pad_set_checkgetrange_function),
8098         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
8099         (gst_pad_check_pull_range), (gst_pad_pull_range),
8100         (gst_static_pad_template_get_caps), (gst_pad_start_task),
8101         (gst_pad_pause_task), (gst_pad_stop_task):
8102         * gst/gstplugin.c: (gst_plugin_load):
8103         * gst/gstplugin.h:
8104         Remove gst_library_load as it does more harm than good with
8105         the new g_module flags.
8106         Revert bogus caps template check in pad linking, pad caps
8107         are important when linking not the template, which is more
8108         general than the current caps.
8109
8110 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8111
8112         * gst/autoplug/.cvsignore:
8113         * gst/autoplug/Makefile.am:
8114         * gst/autoplug/gstsearchfuncs.c:
8115         * gst/autoplug/gstsearchfuncs.h:
8116         * gst/autoplug/gstspider.c:
8117         * gst/autoplug/gstspider.h:
8118         * gst/autoplug/gstspideridentity.c:
8119         * gst/autoplug/gstspideridentity.h:
8120         * gst/autoplug/spidertest.c:
8121           Die, spider, die.
8122
8123 2005-04-25  Wim Taymans  <wim@fluendo.com>
8124
8125         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8126         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
8127         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
8128         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
8129         * gst/gstpad.h:
8130         Added stubs for unimplemented functions. 
8131
8132 2005-04-24  David Schleef  <ds@schleef.org>
8133
8134         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
8135         please fix.
8136
8137 2005-04-24  David Schleef  <ds@schleef.org>
8138
8139         Convert everything from GstAtomicInt to g_atomic_int_*, and
8140         remove gstatomic.
8141         * gst/Makefile.am:
8142         * gst/gstatomic.c:
8143         * gst/gstatomic.h:
8144         * gst/gstatomic_impl.h:
8145         * gst/gstbuffer.c:
8146         * gst/gstcaps.c:
8147         * gst/gstcaps.h:
8148         * gst/gstclock.c:
8149         * gst/gstclock.h:
8150         * gst/gstdata.c:
8151         * gst/gstdata.h:
8152         * gst/gstdata_private.h:
8153         * gst/gstevent.c:
8154         * gst/gstinfo.c:
8155         * gst/gstinfo.h:
8156         * gst/gstmessage.c:
8157         * gst/gstobject.c:
8158         * gst/gstobject.h:
8159         * gst/gststructure.c:
8160         * gst/gststructure.h:
8161         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
8162         * gst/gstutils.h:
8163
8164 2005-04-24  David Schleef  <ds@schleef.org>
8165
8166         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
8167         make the regressions tests work.  Remove some code that is no
8168         longer true.
8169         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
8170         Disable warning for pads without templates.
8171
8172 2005-04-24  David Schleef  <ds@schleef.org>
8173
8174         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
8175         functions that handle filtered links.
8176         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
8177         removed functions.
8178         * gst/gstutils.c: Fix/remove utility functions that handle
8179         filtered caps.
8180         * gst/gstutils.h:
8181         * gst/gstvalue.c: Add serialization/deserialization of caps
8182         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
8183         requires fixing so that the filter caps notation creates
8184         a capsfilter element and sets the filter_caps property.  I
8185         think everyone probably wants to keep the shorthand notation.
8186         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
8187         * docs/gst/tmpl/gstpad.sgml:
8188
8189         * gst/elements/gstelements.c: Register capsfilter element.
8190         * gst/Makefile.am: fix spacing
8191         * docs/random/ds/0.9-suggested-changes: random
8192
8193 2005-04-23  David Schleef  <ds@schleef.org>
8194
8195         * gst/elements/Makefile.am:
8196         * gst/elements/gstcapsfilter.c: New element that acts like an
8197         identity, but filters caps.  Will eventually replace filtered
8198         caps in pad linking.
8199         * gst/gstutils.c: (gst_element_create_all_pads): New function
8200         to create all the ALWAYS pads that are registered with an
8201         element class.  This functionality should eventually be
8202         merged in with GstElement initialization.
8203         * gst/gstutils.h:
8204         * testsuite/trigger/README: part of trigger test code that should
8205         have been checked in a long time ago.
8206
8207 2005-04-23  David Schleef  <ds@schleef.org>
8208
8209         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
8210         needed with new versions of libtool (nobody will confirm this),
8211         and hard to carry around.
8212         * gst/autoplug/Makefile.am:
8213         * gst/base/Makefile.am:
8214         * gst/elements/Makefile.am:
8215         * gst/indexers/Makefile.am:
8216         * gst/schedulers/Makefile.am:
8217         * libs/gst/bytestream/Makefile.am:
8218         * libs/gst/control/Makefile.am:
8219         * libs/gst/dataprotocol/Makefile.am:
8220         * libs/gst/getbits/Makefile.am:
8221
8222 2005-04-21  Wim Taymans  <wim@fluendo.com>
8223
8224         * docs/design/draft-push-pull.txt:
8225         * docs/design/part-MT-refcounting.txt:
8226         * docs/design/part-TODO.txt:
8227         * docs/design/part-caps.txt:
8228         * docs/design/part-events.txt:
8229         * docs/design/part-gstbus.txt:
8230         * docs/design/part-gstpipeline.txt:
8231         * docs/design/part-messages.txt:
8232         * docs/design/part-push-pull.txt:
8233         * docs/design/part-query.txt:
8234         Some more docs.
8235
8236 2005-04-21  Wim Taymans  <wim@fluendo.com>
8237
8238         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
8239         (gst_message_new), (gst_message_new_error),
8240         (gst_message_new_warning), (gst_message_new_tag),
8241         (gst_message_new_state_changed), (gst_message_new_application),
8242         (gst_message_get_structure):
8243         * gst/gstmessage.h:
8244         * gst/gststructure.c: (gst_structure_set_parent_refcount),
8245         (gst_structure_copy_conditional):
8246         Use parent refcount in GstMessage to ensure GstStructure
8247         consistency.
8248         Cleaned up headers a bit.
8249         
8250
8251 2005-04-20  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/base/gstbasesink.c: (gst_basesink_base_init),
8254         (gst_basesink_pad_getcaps), (gst_basesink_init),
8255         (gst_basesink_chain_unlocked):
8256         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
8257         (gst_type_find_helper):
8258         * gst/elements/gsttypefindelement.c:
8259         (gst_type_find_element_have_type), (gst_type_find_element_init),
8260         (stop_typefinding), (gst_type_find_element_handle_event),
8261         (find_suggest), (gst_type_find_element_chain),
8262         (gst_type_find_element_checkgetrange),
8263         (gst_type_find_element_getrange), (do_typefind),
8264         (gst_type_find_element_activate):
8265         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8266         (gst_buffer_default_free), (gst_buffer_default_copy),
8267         (gst_buffer_set_caps):
8268         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
8269         (gst_caps_replace):
8270         * gst/gstmessage.c: (gst_message_new),
8271         (gst_message_new_state_changed):
8272         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8273         (gst_pad_set_checkgetrange_function),
8274         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
8275         (gst_pad_set_caps), (gst_pad_check_pull_range),
8276         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
8277         * gst/gstpad.h:
8278         * gst/gsttypefind.c: (gst_type_find_register):
8279         Make gst_caps_replace() work like other _replace() functions.
8280         Use _caps_replace() where possible.
8281         Make sure _message_new() initialises its field.
8282         Add gst_static_pad_template_get_caps()
8283
8284
8285 2005-04-18  Andy Wingo  <wingo@pobox.com>
8286
8287         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
8288         on the peer, not the pad. I think that was a typo. Pass an extra
8289         arg to see if random access is possible. Activate the pads as
8290         PULL_RANGE if possible.
8291
8292         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
8293
8294         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
8295         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
8296         to PROP_....
8297
8298 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8299
8300         * docs/faq/using.xml:
8301           Add note on gstreamer-properties (#154996).
8302
8303 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8304
8305         * docs/random/bbb/optional-properties:
8306           Some analysis on optional properties.
8307
8308 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8309
8310         * docs/gst/tmpl/gstelementfactory.sgml:
8311         * gst/gstelement.h:
8312         * gst/gstelementfactory.c: (gst_element_factory_init),
8313         (gst_element_factory_cleanup), (gst_element_register),
8314         (__gst_element_factory_add_static_pad_template),
8315         (gst_element_factory_get_static_pad_templates),
8316         (gst_element_factory_can_src_caps),
8317         (gst_element_factory_can_sink_caps):
8318         * gst/registries/Makefile.am:
8319         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
8320         (gst_xml_registry_class_init), (gst_xml_registry_init),
8321         (gst_xml_registry_new), (gst_xml_registry_set_property),
8322         (gst_xml_registry_get_property), (get_time), (make_dir),
8323         (gst_xml_registry_get_perms_func),
8324         (plugin_times_older_than_recurse), (plugin_times_older_than),
8325         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
8326         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
8327         (add_to_char_array), (read_string), (read_uint), (read_enum),
8328         (load_pad_template), (load_feature), (load_plugin), (load_paths),
8329         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
8330         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
8331         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
8332         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
8333         (gst_xml_registry_rebuild):
8334         * gst/registries/gstlibxmlregistry.h:
8335         * tools/gst-compprep.c: (main):
8336         * tools/gst-inspect.c: (print_pad_templates_info):
8337         * tools/gst-xmlinspect.c: (print_element_info):
8338           Use libxml2 for registry parsing, use staticpadtemplates in
8339           elementfactories. Makes gst_init() +/- 10x faster.
8340
8341 2005-04-12  Wim Taymans  <wim@fluendo.com>
8342
8343         * gst/base/Makefile.am:
8344         * gst/base/gstbasesink.c: (gst_basesink_base_init),
8345         (gst_basesink_pad_getcaps), (gst_basesink_init),
8346         (gst_basesink_event), (gst_basesink_change_state):
8347         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8348         (gst_basesrc_init), (gst_basesrc_query),
8349         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
8350         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
8351         (gst_basesrc_check_get_range), (gst_basesrc_loop),
8352         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
8353         (gst_basesrc_stop), (gst_basesrc_activate),
8354         (gst_basesrc_change_state):
8355         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8356         (helper_find_suggest), (gst_type_find_helper):
8357         * gst/base/gsttypefindhelper.h:
8358         * gst/elements/Makefile.am:
8359         * gst/elements/gstelements.c:
8360         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8361         (gst_fakesink_get_times), (gst_fakesink_event),
8362         (gst_fakesink_preroll), (gst_fakesink_render):
8363         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8364         (gst_fakesrc_init), (gst_fakesrc_event_handler),
8365         (gst_fakesrc_get_property), (gst_fakesrc_create),
8366         (gst_fakesrc_start), (gst_fakesrc_stop):
8367         * gst/elements/gstfakesrc.h:
8368         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
8369         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
8370         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
8371         (gst_filesrc_create_read), (gst_filesrc_create),
8372         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
8373         (gst_filesrc_start):
8374         * gst/elements/gsttypefindelement.c:
8375         (gst_type_find_element_have_type), (gst_type_find_element_init),
8376         (start_typefinding), (stop_typefinding), (push_buffer_store),
8377         (gst_type_find_element_handle_event),
8378         (gst_type_find_element_chain),
8379         (gst_type_find_element_checkgetrange),
8380         (gst_type_find_element_getrange), (do_typefind),
8381         (gst_type_find_element_activate),
8382         (gst_type_find_element_change_state):
8383         * gst/elements/gsttypefindelement.h:
8384         * gst/gstpipeline.c: (pipeline_bus_handler):
8385         Added typefind helper.
8386         Small preroll fix in the base sink.
8387         Disable typefind code in basesrc.
8388         Crude port of typefindelement.
8389         Fakesrc cleanups.
8390
8391
8392 2005-04-11  Wim Taymans  <wim@fluendo.com>
8393
8394         * check/gst/gstbus.c: (gstbus_suite):
8395         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
8396         * check/gstcheck.h:
8397           Fix up the timeout so that the test does not fail.
8398
8399 2005-04-06  Wim Taymans  <wim@fluendo.com>
8400
8401         * gst/base/README:
8402         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8403         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
8404         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
8405         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
8406         (gst_basesrc_check_get_range), (gst_basesrc_loop),
8407         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
8408         (gst_basesrc_stop), (gst_basesrc_activate),
8409         (gst_basesrc_change_state), (basesrc_find_peek),
8410         (basesrc_find_suggest), (gst_basesrc_type_find):
8411         * gst/base/gstbasesrc.h:
8412         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
8413         (gst_filesrc_class_init), (gst_filesrc_init),
8414         (gst_filesrc_finalize), (gst_filesrc_set_location),
8415         (gst_filesrc_set_property), (gst_filesrc_get_property),
8416         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
8417         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
8418         (gst_filesrc_create_read), (gst_filesrc_create),
8419         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
8420         * gst/elements/gstfilesrc.h:
8421         * gst/gstelement.c: (gst_element_get_state_func),
8422         (gst_element_lost_state), (gst_element_pads_activate):
8423         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8424         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
8425         (gst_pad_pull_range):
8426         * gst/gstpad.h:
8427         More work on the generic source base class, implement seeking,
8428         query.
8429         Make filesrc extend the base source class.
8430         Added gst_pad_set_checkgetrange_function to GstPad.
8431
8432 2005-04-06  Andy Wingo  <wingo@pobox.com>
8433
8434         * pkgconfig/gstreamer-base.pc.in:
8435         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
8436
8437         * pkgconfig/Makefile.am:
8438         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
8439
8440 2005-04-04  Wim Taymans  <wim@fluendo.com>
8441
8442         * gst/base/Makefile.am:
8443         * gst/base/README:
8444         * gst/base/gstbasesink.c: (gst_basesink_base_init),
8445         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
8446         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
8447         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
8448         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8449         (gst_basesrc_base_init), (gst_basesrc_class_init),
8450         (gst_basesrc_init), (gst_basesrc_get_formats),
8451         (gst_basesrc_get_query_types), (gst_basesrc_query),
8452         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
8453         (gst_basesrc_set_property), (gst_basesrc_get_property),
8454         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
8455         (gst_basesrc_loop), (gst_basesrc_activate),
8456         (gst_basesrc_change_state):
8457         * gst/base/gstbasesrc.h:
8458         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
8459         (gst_fakesrc_class_init), (gst_fakesrc_init),
8460         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
8461         (gst_fakesrc_get_property), (gst_fakesrc_create):
8462         * gst/elements/gstfakesrc.h:
8463         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
8464         (gst_filesrc_open_file), (gst_filesrc_loop),
8465         (gst_filesrc_activate), (filesrc_find_peek),
8466         (gst_filesrc_type_find):
8467         Made base source class, make fakesrc extend it.
8468         Add comments to basesink class.
8469         Some filesrc cleanup.
8470
8471 2005-03-31  David Schleef  <ds@schleef.org>
8472
8473         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8474         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
8475         expected to link against libgstreamer.
8476         * gst/base/Makefile.am: link against libgstreamer
8477         * gst/elements/Makefile.am: same
8478
8479 2005-03-31  Andy Wingo  <wingo@pobox.com>
8480
8481         * tests/instantiate/Makefile.am:
8482         * tests/instantiate/caps.c: Add test to test speed of caps copy
8483         and free.
8484
8485         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
8486         GMemChunk to be fair.
8487
8488         * gst/gsttrashstack.h: Remove warning about using the fallback
8489         trash stack implementation, it's still faster than malloc.
8490
8491 2005-03-30  Andy Wingo  <wingo@pobox.com>
8492
8493         * tests/complexity.c: Add a copyright.
8494
8495 2005-03-31  Wim Taymans  <wim@fluendo.com>
8496
8497         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
8498         (gst_base_transform_class_init), (gst_base_transform_init),
8499         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8500         (gst_base_transform_get_property),
8501         (gst_base_transform_sink_activate),
8502         (gst_base_transform_src_activate),
8503         (gst_base_transform_change_state):
8504         * gst/base/gstbasetransform.h:
8505         * gst/elements/gstidentity.c: (gst_identity_class_init),
8506         (gst_identity_event), (gst_identity_check_perfect),
8507         (gst_identity_transform), (gst_identity_start),
8508         (gst_identity_stop):
8509         Added start/stop methods to transform base class so subclasses 
8510         don't need to deal with state changes even.
8511
8512 2005-03-31  Wim Taymans  <wim@fluendo.com>
8513
8514         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
8515         (gst_event_new_discontinuous), (gst_event_discont_get_value):
8516         * gst/gstevent.h:
8517         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8518         (gst_pad_pull_range):
8519         Added rate to the discont event to prepare for variable speed
8520         and reverse playback.
8521
8522 2005-03-29  David Schleef  <ds@schleef.org>
8523
8524         * configure.ac:
8525         * testsuite/trigger/Makefile.am:
8526         * testsuite/trigger/trigger.c: A little example program to show
8527         how trigger-based elements can work.
8528
8529 2005-03-29  Wim Taymans  <wim@fluendo.com>
8530
8531         * gst/base/Makefile.am:
8532         * gst/base/README:
8533         * gst/base/gstbasesink.c: (gst_basesink_get_type),
8534         (gst_basesink_base_init), (gst_basesink_class_init),
8535         (gst_basesink_pad_getcaps), (gst_basesink_init),
8536         (gst_basesink_activate), (gst_basesink_change_state):
8537         * gst/base/gstbasesink.h:
8538         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
8539         (gst_base_transform_base_init), (gst_base_transform_finalize),
8540         (gst_base_transform_class_init), (gst_base_transform_init),
8541         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
8542         (gst_base_transform_event), (gst_base_transform_getrange),
8543         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
8544         (gst_base_transform_set_property),
8545         (gst_base_transform_get_property),
8546         (gst_base_transform_sink_activate),
8547         (gst_base_transform_src_activate),
8548         (gst_base_transform_change_state):
8549         * gst/base/gstbasetransform.h:
8550         * gst/elements/gstidentity.c: (gst_identity_finalize),
8551         (gst_identity_class_init), (gst_identity_init),
8552         (gst_identity_event), (gst_identity_check_perfect),
8553         (gst_identity_transform), (gst_identity_set_property),
8554         (gst_identity_get_property), (gst_identity_change_state):
8555         * gst/elements/gstidentity.h:
8556         * gst/gstelement.c: (gst_element_get_state_func),
8557         (gst_element_lost_state), (gst_element_pads_activate):
8558         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8559         (gst_pad_check_pull_range), (gst_pad_pull_range):
8560         * gst/gstpad.h:
8561         Simplify pad activation.
8562         Added function to check if pull_range can be performed.
8563         Error out when pulling inactive or flushing pads.
8564         Removed const from refcounted types as it does not make sense.
8565         Simplify pad templates in basesink
8566         Added base class for simple 1-to-1 transforms.
8567         Make identity subclass the base transform.
8568
8569 2005-03-29  Andy Wingo  <wingo@pobox.com>
8570
8571         * docs/libs/gstreamer-libs-overrides.txt: 
8572         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
8573         really don't understand what's going on, but like whatever. I want
8574         green buildbot!
8575
8576         * docs/gst/Makefile.am:
8577         * docs/libs/Makefile.am: Dist the overrides files.
8578
8579         * check/Makefile.am (clean-local): Remove .libs directories.
8580
8581         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
8582         elements to EXTRA_DIST, so po/ files are happy.
8583
8584         * po/POTFILES.in: Er, remove it here.
8585
8586         * po/POTFILES: Remove gstspider.c.
8587
8588         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
8589
8590         * docs/libs/gstreamer-libs-docs.sgml: 
8591         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
8592         bytestream.
8593
8594         * tests/complexity.c (main): Set the length of the preroll queue
8595         on the sinks to prevent a lockup.
8596
8597         * libs/gst/dataprotocol/Makefile.am: 
8598         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
8599         the same as the one in check/gst-libs/gdp.c.
8600
8601         * po/, docs/gst/: Commit automatic changes to docs and po files.
8602
8603         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
8604         the versioned libgstbase.
8605
8606         * check/Makefile.am: Depend on an unversioned gst-register, seems
8607         to make autoconf happier.
8608
8609         * gst/base/Makefile.am: Make libgstbase a versioned lib.
8610
8611 2005-03-28  Wim Taymans  <wim@fluendo.com>
8612
8613         * configure.ac:
8614         * docs/design/part-gstelement.txt:
8615         * docs/design/part-negotiation.txt:
8616         * docs/design/part-preroll.txt:
8617         * docs/design/part-scheduling.txt:
8618         * docs/design/part-states.txt:
8619         * gst/Makefile.am:
8620         * gst/base/Makefile.am:
8621         * gst/base/README:
8622         * gst/base/gstbasesink.c: (gst_basesink_get_template),
8623         (gst_basesink_base_init), (gst_basesink_class_init),
8624         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
8625         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
8626         (gst_basesink_set_pad_functions),
8627         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
8628         (gst_basesink_set_property), (gst_basesink_get_property),
8629         (gst_base_sink_get_template), (gst_base_sink_get_caps),
8630         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
8631         (gst_basesink_preroll_queue_push),
8632         (gst_basesink_preroll_queue_empty),
8633         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
8634         (gst_basesink_event), (gst_basesink_get_times),
8635         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
8636         (gst_basesink_chain_unlocked), (gst_basesink_chain),
8637         (gst_basesink_loop), (gst_basesink_activate),
8638         (gst_basesink_change_state):
8639         * gst/base/gstbasesink.h:
8640         * gst/elements/Makefile.am:
8641         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
8642         (gst_fakesink_class_init), (gst_fakesink_init),
8643         (gst_fakesink_set_property), (gst_fakesink_get_property),
8644         (gst_fakesink_get_times), (gst_fakesink_event),
8645         (gst_fakesink_preroll), (gst_fakesink_render),
8646         (gst_fakesink_change_state):
8647         * gst/elements/gstfakesink.h:
8648         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
8649         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
8650         * gst/gstelement.c: (gst_element_add_pad),
8651         (gst_element_get_state_func), (gst_element_abort_state),
8652         (gst_element_commit_state), (gst_element_lost_state),
8653         (gst_element_set_state), (gst_element_pads_activate):
8654         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
8655         * gst/gstpipeline.c: (gst_pipeline_send_event),
8656         (gst_pipeline_change_state):
8657         Added state change code.
8658         Added/updated docs.
8659         Added sink base class, make fakesink extend the base class.
8660         Small cleanups in GstPipeline.
8661
8662 2005-03-26  David Schleef  <ds@schleef.org>
8663
8664         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
8665         is broken and should be implemented in a different library.
8666         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
8667         * gst/gst.h: remove gstcpu.h
8668         * gst/gstcpu.c: remove
8669         * gst/gstcpu.h: remove
8670         * gst/Makefile.am.future: Remove this file.  It's ancient.
8671
8672 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8673
8674         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
8675         (gst_bin_send_event):
8676           Add default event/set_manager handlers. The set_manager handler
8677           takes care that the manager is distributed over kids that were
8678           already in the bin before the manager was set. The event handler
8679           is a utility virtual function that sends the event over all sinks,
8680           so that gst_element_send_event (bin, event); has the expected
8681           behaviour.
8682         * gst/gstpad.c: (gst_pad_event_default):
8683           Re-install default event handling for discontinuities, so that
8684           seeking works without requiring hacks in applications or extra
8685           code in sinks.
8686         * gst/gstpipeline.c: (gst_pipeline_class_init),
8687         (gst_pipeline_send_event):
8688           Half hack, half utility: set a pipeline to PAUSED for seek events,
8689           since that is the only way we can guarantee a/v sync. Means that
8690           you can do gst_element_seek (pipeline, method, pos); on a pipeline
8691           and it "just works".
8692
8693 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8694
8695         * gst/gstpipeline.c: (gst_pipeline_use_clock):
8696           Lock/unlock mismatch.
8697
8698 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8699
8700         * docs/faq/gst-uninstalled:
8701           add gst-plugins-base
8702         * docs/gst/Makefile.am:
8703           don't error out until docs are fixed
8704         * docs/gst/gstreamer.types:
8705           remove thread
8706
8707 2005-03-22  Wim Taymans  <wim@fluendo.com>
8708
8709         * check/Makefile.am:
8710         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
8711         * gst/gststructure.c: (gst_structure_set_valist),
8712         (gst_structure_copy_conditional):
8713         Activated more tests.
8714         Added message test.
8715         Added G_TYPE_POINTER to GstStructure.
8716         
8717
8718 2005-03-22  Wim Taymans  <wim@fluendo.com>
8719
8720         * docs/design/part-TODO.txt:
8721         * docs/design/part-events.txt:
8722         * docs/design/part-gstbin.txt:
8723         * docs/design/part-gstbus.txt:
8724         * docs/design/part-gstpipeline.txt:
8725         * docs/design/part-messages.txt:
8726         * gst/gstbus.c:
8727         * gst/gstmessage.c:
8728         Docs updates
8729
8730 2005-03-21  Wim Taymans  <wim@fluendo.com>
8731
8732         * gst/gstbus.c: (gst_bus_post):
8733         Fix copy-and-paste error.
8734
8735 2005-03-21  Wim Taymans  <wim@fluendo.com>
8736
8737         * check/Makefile.am:
8738         * gst/Makefile.am:
8739         * gst/elements/Makefile.am:
8740         * gst/elements/gstelements.c:
8741         * gst/elements/gstfakesink.c: (gst_fakesink_init),
8742         (gst_fakesink_event), (gst_fakesink_chain):
8743         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8744         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
8745         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
8746         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
8747         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8748         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
8749         (gst_fakesrc_loop), (gst_fakesrc_activate),
8750         (gst_fakesrc_change_state):
8751         * gst/elements/gstfakesrc.h:
8752         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8753         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
8754         (gst_filesrc_open_file), (gst_filesrc_loop),
8755         (gst_filesrc_activate), (gst_filesrc_change_state),
8756         (filesrc_find_peek), (filesrc_find_suggest),
8757         (gst_filesrc_type_find):
8758         * gst/elements/gstidentity.c: (gst_identity_finalize),
8759         (gst_identity_class_init), (gst_identity_init),
8760         (gst_identity_proxy_getcaps), (identity_queue_push),
8761         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
8762         (gst_identity_getrange), (gst_identity_chain),
8763         (gst_identity_sink_loop), (gst_identity_src_loop),
8764         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
8765         (gst_identity_set_property), (gst_identity_get_property),
8766         (gst_identity_change_state):
8767         * gst/elements/gstidentity.h:
8768         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
8769         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
8770         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
8771         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
8772         (gst_tee_sink_activate):
8773         * gst/elements/gsttee.h:
8774         * gst/gst.c: (gst_register_core_elements), (init_post):
8775         * gst/gst.h:
8776         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
8777         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
8778         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
8779         (gst_bin_change_state):
8780         * gst/gstbin.h:
8781         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
8782         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
8783         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
8784         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
8785         (gst_bus_set_sync_handler), (gst_bus_create_watch),
8786         (bus_watch_callback), (bus_watch_destroy),
8787         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
8788         (poll_timeout), (gst_bus_poll):
8789         * gst/gstbus.h:
8790         * gst/gstcaps.h:
8791         * gst/gstdata.h:
8792         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
8793         (gst_element_post_message), (gst_element_message_full),
8794         (gst_element_get_state_func), (gst_element_get_state),
8795         (gst_element_abort_state), (gst_element_commit_state),
8796         (gst_element_lost_state), (gst_element_set_state),
8797         (gst_element_pads_activate), (gst_element_change_state),
8798         (gst_element_dispose), (gst_element_set_manager_func),
8799         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
8800         (gst_element_set_manager), (gst_element_get_manager),
8801         (gst_element_set_bus), (gst_element_get_bus),
8802         (gst_element_set_scheduler), (gst_element_get_scheduler):
8803         * gst/gstelement.h:
8804         * gst/gstevent.c: (gst_event_new_segment_seek),
8805         (gst_event_new_flush):
8806         * gst/gstevent.h:
8807         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
8808         (_gst_message_free), (gst_message_get_type), (gst_message_new),
8809         (gst_message_new_eos), (gst_message_new_error),
8810         (gst_message_new_warning), (gst_message_new_tag),
8811         (gst_message_new_state_changed), (gst_message_new_application),
8812         (gst_message_get_structure), (gst_message_parse_tag),
8813         (gst_message_parse_state_changed), (gst_message_parse_error),
8814         (gst_message_parse_warning):
8815         * gst/gstmessage.h:
8816         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
8817         (gst_real_pad_set_property), (gst_pad_set_active),
8818         (gst_pad_is_active), (gst_pad_set_blocked_async),
8819         (gst_pad_set_blocked), (gst_pad_is_blocked),
8820         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
8821         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
8822         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
8823         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
8824         (gst_pad_link_filtered), (gst_pad_relink_filtered),
8825         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
8826         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
8827         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
8828         (gst_pad_set_caps), (gst_pad_configure_sink),
8829         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
8830         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
8831         (gst_real_pad_dispose), (gst_real_pad_finalize),
8832         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
8833         (gst_pad_event_default_dispatch), (gst_pad_event_default),
8834         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
8835         * gst/gstpad.h:
8836         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
8837         (pipeline_bus_handler), (gst_pipeline_change_state),
8838         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
8839         * gst/gstpipeline.h:
8840         * gst/gstprobe.h:
8841         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8842         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
8843         (gst_queue_link_src), (gst_queue_bufferalloc),
8844         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
8845         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
8846         (gst_queue_loop), (gst_queue_handle_src_event),
8847         (gst_queue_handle_src_query), (gst_queue_src_activate),
8848         (gst_queue_change_state):
8849         * gst/gstqueue.h:
8850         * gst/gstscheduler.c: (gst_scheduler_init),
8851         (gst_scheduler_dispose), (gst_scheduler_create_task),
8852         (gst_scheduler_factory_create):
8853         * gst/gstscheduler.h:
8854         * gst/gststructure.c: (gst_structure_get_type),
8855         (gst_structure_copy_conditional):
8856         * gst/gststructure.h:
8857         * gst/gsttaginterface.h:
8858         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8859         (gst_task_init), (gst_task_dispose), (gst_task_create),
8860         (gst_task_get_state), (gst_task_start), (gst_task_stop),
8861         (gst_task_pause):
8862         * gst/gsttask.h:
8863         * gst/gstthread.c:
8864         * gst/gstthread.h:
8865         * gst/gsttypes.h:
8866         * gst/schedulers/Makefile.am:
8867         * gst/schedulers/cothreads_compat.h:
8868         * gst/schedulers/entryscheduler.c:
8869         * gst/schedulers/faircothreads.c:
8870         * gst/schedulers/faircothreads.h:
8871         * gst/schedulers/fairscheduler.c:
8872         * gst/schedulers/gstbasicscheduler.c:
8873         * gst/schedulers/gstoptimalscheduler.c:
8874         * gst/schedulers/gthread-cothreads.h:
8875         * gst/schedulers/threadscheduler.c:
8876         (gst_thread_scheduler_task_get_type),
8877         (gst_thread_scheduler_task_class_init),
8878         (gst_thread_scheduler_task_init),
8879         (gst_thread_scheduler_task_start),
8880         (gst_thread_scheduler_task_stop),
8881         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
8882         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8883         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
8884         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
8885         (plugin_init):
8886         * libs/gst/Makefile.am:
8887         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
8888         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
8889         (gst_file_pad_parent_set):
8890         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8891         (gst_dp_event_from_packet):
8892         * tests/complexity.c: (main):
8893         * tests/mass_elements.c: (main):
8894         * testsuite/states/locked.c: (message_received), (main):
8895         * testsuite/states/parent.c: (main):
8896         * tools/gst-inspect.c: (print_element_flag_info),
8897         (print_implementation_info), (print_pad_info):
8898         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
8899         (main):
8900         * tools/gst-md5sum.c: (event_loop), (main):
8901         * tools/gst-typefind.c: (main):
8902         * tools/gst-xmlinspect.c: (print_element_info):
8903         Next big merge.
8904         Added GstBus for mainloop integration.
8905         Added GstMessage for sending notifications on the bus.
8906         Added GstTask as an abstraction for pipeline entry points.
8907         Removed GstThread.
8908         Removed Schedulers.
8909         Simplified GstQueue for multithreaded core.
8910         Made _link threadsafe, removed old capsnego.
8911         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
8912         Added pad blocking functions.
8913         Reworked scheduling functions in GstPad to prepare for
8914         scheduling updates soon.
8915         Moved events out of data stream.
8916         Simplified GstEvent types.
8917         Added return values to push/pull.
8918         Removed clocking from GstElement.
8919         Added prototypes for state change function for next merge.
8920         Removed iterate from bins and state change management.
8921         Fixed some elements, disabled others for now.
8922         Fixed -inspect and -launch.
8923         Added check for GstBus.
8924
8925 2005-03-10  Wim Taymans  <wim@fluendo.com>
8926
8927         * docs/design/part-MT-refcounting.txt:
8928         * docs/design/part-clocks.txt:
8929         * docs/design/part-gstelement.txt:
8930         * docs/design/part-gstobject.txt:
8931         * docs/design/part-standards.txt:
8932         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8933         (gst_bin_remove_func), (gst_bin_remove):
8934         * gst/gstbin.h:
8935         * gst/gstbuffer.c:
8936         * gst/gstcaps.h:
8937         * testsuite/clock/clock1.c: (main):
8938         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
8939         (main):
8940         * testsuite/dlopen/loadgst.c: (do_test):
8941         * testsuite/refcounting/bin.c: (add_remove_test1),
8942         (add_remove_test2), (main):
8943         * testsuite/refcounting/element.c: (main):
8944         * testsuite/refcounting/element_pad.c: (main):
8945         * testsuite/refcounting/pad.c: (main):
8946         * tools/gst-launch.c: (sigint_handler_sighandler):
8947         * tools/gst-typefind.c: (main):
8948         Doc updates.
8949         Added doc about clock.
8950         removed gst_bin_iterate_recurse_up(), marked methods
8951         for removal.
8952         Fix more testsuites.
8953
8954 2005-03-09  Wim Taymans  <wim@fluendo.com>
8955
8956         * gst/gstpad.c: (gst_pad_get_direction),
8957         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
8958         (gst_pad_collect_valist):
8959         * testsuite/bins/interface.c: (main):
8960         * testsuite/caps/audioscale.c: (test_caps):
8961         * testsuite/caps/caps.c: (test1), (test2), (test3):
8962         * testsuite/caps/deserialize.c: (main):
8963         * testsuite/caps/enumcaps.c: (main):
8964         * testsuite/caps/filtercaps.c: (main):
8965         * testsuite/caps/intersect2.c: (main):
8966         * testsuite/caps/random.c: (main):
8967         * testsuite/caps/renegotiate.c: (my_fixate), (main):
8968         * testsuite/caps/sets.c: (check_caps):
8969         * testsuite/caps/simplify.c: (check_caps), (main):
8970         * testsuite/caps/subtract.c: (check_caps):
8971         Fix _pad_get_direction wrt ghostpads.
8972         Fix caps testsuite.
8973
8974 2005-03-09  Wim Taymans  <wim@fluendo.com>
8975
8976         * check/Makefile.am:
8977         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
8978         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
8979         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
8980         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
8981         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
8982         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
8983         (gst_bin_remove), (gst_bin_iterate_recurse_up),
8984         (bin_element_is_sink), (gst_bin_iterate_sinks),
8985         (gst_bin_iterate_all_by_interface):
8986         * gst/gstbin.h:
8987         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
8988         (gst_element_change_state), (gst_element_dispose),
8989         (gst_element_finalize), (gst_element_set_loop_function):
8990         * gst/gstelement.h:
8991         * gst/gstiterator.c: (find_custom_fold_func):
8992         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
8993         (gst_pad_collectv), (gst_pad_collect_valist),
8994         (gst_pad_template_new):
8995         * gst/gstpipeline.c: (gst_pipeline_class_init),
8996         (gst_pipeline_dispose), (gst_pipeline_set_property),
8997         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
8998         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
8999         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
9000         * gst/gstutils.h:
9001         * gst/schedulers/entryscheduler.c:
9002         * gst/schedulers/gstbasicscheduler.c:
9003         (gst_basic_scheduler_cothreaded_chain),
9004         (gst_basic_scheduler_chain_add_element):
9005         * testsuite/bins/interface.c: (main):
9006         Added GstBin test.
9007         Added GstSystemClock test.
9008         Implemented clock distribution code in GstBin.
9009         Implemented iterate sinks method for future use.
9010         Rearranged gstelement.h
9011         Fix GstIterator comparison bug.
9012         Moved some code to GstPipeline, mostly clocking related.
9013
9014 2005-03-09  Wim Taymans  <wim@fluendo.com>
9015
9016         * configure.ac:
9017         * gst/gst_private.h:
9018         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9019         (gst_bin_remove_func), (gst_bin_remove),
9020         (gst_bin_get_by_name_recurse_up):
9021         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
9022         (gst_clock_id_compare_func), (gst_clock_id_wait),
9023         (gst_clock_id_wait_async), (gst_clock_init),
9024         (gst_clock_adjust_unlocked), (gst_clock_get_time):
9025         * gst/gstelement.h:
9026         * gst/gstinfo.c: (_gst_debug_init):
9027         * gst/gstobject.h:
9028         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
9029         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
9030         * gst/gstpad.h:
9031         Bump version number, we're now 0.9.0
9032         Add future debugging category.
9033         Fix NULL _unref() in _get_by_name_recurse_up
9034         Rearrange gstpad.h.
9035         Update some docs.
9036
9037 2005-03-08  Wim Taymans  <wim@fluendo.com>
9038
9039         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
9040         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
9041         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9042         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
9043         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
9044         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
9045         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
9046         * gst/elements/gstidentity.c: (gst_identity_class_init):
9047         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
9048         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9049         * gst/elements/gstshaper.c: (gst_shaper_class_init):
9050         * gst/elements/gststatistics.c: (gst_statistics_class_init):
9051         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
9052         (gst_tee_link):
9053         * gst/gstelement.c: (gst_element_class_init),
9054         (gst_element_base_class_init), (gst_element_init),
9055         (gst_element_get_random_pad), (gst_element_wait_state_change),
9056         (gst_element_change_state), (gst_element_dispose),
9057         (gst_element_finalize), (gst_element_set_loop_function):
9058         * gst/gstelement.h:
9059         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
9060         * gst/gstthread.c: (gst_thread_class_init),
9061         (gst_thread_release_children_locks), (gst_thread_change_state):
9062         * gst/schedulers/gstbasicscheduler.c:
9063         (gst_basic_scheduler_loopfunc_wrapper),
9064         (gst_basic_scheduler_chain_wrapper),
9065         (gst_basic_scheduler_src_wrapper),
9066         (gst_basic_scheduler_remove_element):
9067         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
9068         Remove threadsafe properties. Fix elements because GObject
9069         complains when installing a property before declaring a
9070         set/get_property handler.
9071         Rearrange gstelement.h file, use STATE macros for state locks.
9072         Free mutexes in the finalize method instead of dispose.
9073
9074 2005-03-08  Wim Taymans  <wim@fluendo.com>
9075
9076         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
9077         * gst/gstthread.c: (gst_thread_release_children_locks):
9078         Added parentage check.
9079         Fix build og GstThread again.
9080
9081 2005-03-08  Wim Taymans  <wim@fluendo.com>
9082
9083         * docs/design/part-MT-refcounting.txt:
9084         * docs/design/part-conventions.txt:
9085         * docs/design/part-gstobject.txt:
9086         * docs/design/part-relations.txt:
9087         * docs/design/part-standards.txt:
9088         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9089         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
9090         (gst_bin_get_by_name), (gst_bin_get_by_interface),
9091         (gst_bin_iterate_all_by_interface):
9092         * gst/gstbuffer.h:
9093         * gst/gstclock.h:
9094         * gst/gstelement.c: (gst_element_class_init),
9095         (gst_element_change_state), (gst_element_set_loop_function):
9096         * gst/gstelement.h:
9097         * gst/gstiterator.c:
9098         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
9099         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
9100         (gst_object_dispatch_properties_changed), (gst_object_set_name),
9101         (gst_object_set_parent), (gst_object_unparent),
9102         (gst_object_check_uniqueness):
9103         * gst/gstobject.h:
9104         Docs updates, clean up some headers.
9105
9106 2005-03-07  Wim Taymans  <wim@fluendo.com>
9107
9108         * check/.cvsignore:
9109         * check/Makefile.am:
9110         * check/gst-libs/.cvsignore:
9111         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
9112         * check/gst/.cvsignore:
9113         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
9114         (START_TEST), (gstbus_suite), (main):
9115         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
9116         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
9117         (gst_data_suite), (main):
9118         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
9119         (add_fold_func), (gstiterator_suite), (main):
9120         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
9121         (thread_name_object), (thread_name_object_default),
9122         (gst_object_name_compare), (gst_object_suite), (main):
9123         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
9124         (gst_pad_suite), (main):
9125         * check/gstcheck.c: (gst_check_log_message_func),
9126         (gst_check_log_critical_func), (gst_check_init):
9127         * check/gstcheck.h:
9128         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
9129         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
9130         Added checks.
9131
9132 2005-03-07  Wim Taymans  <wim@fluendo.com>
9133
9134         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9135         (gst_list_iterator_next), (gst_list_iterator_resync),
9136         (gst_list_iterator_free), (gst_iterator_new_list),
9137         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
9138         (gst_iterator_free), (gst_iterator_push), (filter_next),
9139         (filter_resync), (filter_uninit), (filter_free),
9140         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
9141         (gst_iterator_foreach), (find_custom_fold_func),
9142         (gst_iterator_find_custom):
9143         * gst/gstiterator.h:
9144         Added missing files.
9145
9146 2005-03-07  Wim Taymans  <wim@fluendo.com>
9147
9148         * Makefile.am:
9149         * configure.ac:
9150         * docs/design/part-MT-refcounting.txt:
9151         * docs/design/part-conventions.txt:
9152         * docs/design/part-gstobject.txt:
9153         * docs/design/part-relations.txt:
9154         * examples/mixer/mixer.c: (main):
9155         * examples/thread/thread.c: (eos), (main):
9156         * gst/Makefile.am:
9157         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
9158         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
9159         (gst_spider_plug_from_srcpad):
9160         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
9161         (gst_spider_identity_change_state),
9162         (gst_spider_identity_sink_loop_type_finding):
9163         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
9164         * gst/elements/gstidentity.c: (gst_identity_init):
9165         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
9166         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
9167         * gst/elements/gsttypefindelement.c: (free_entry):
9168         * gst/gst.c:
9169         * gst/gst.h:
9170         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
9171         (gst_bin_set_clock_func), (gst_bin_auto_clock),
9172         (gst_bin_set_index), (gst_bin_set_element_sched),
9173         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
9174         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
9175         (gst_bin_iterate_elements), (iterate_child_recurse),
9176         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
9177         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
9178         (compare_interface), (gst_bin_get_by_interface),
9179         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
9180         * gst/gstbin.h:
9181         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
9182         (gst_buffer_default_free), (gst_buffer_default_copy),
9183         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
9184         (gst_buffer_create_sub):
9185         * gst/gstbuffer.h:
9186         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
9187         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
9188         (gst_caps_unref), (gst_static_caps_get),
9189         (gst_caps_remove_and_get_structure), (gst_caps_append),
9190         (gst_caps_append_structure), (gst_caps_remove_structure),
9191         (gst_caps_copy_nth), (gst_caps_set_simple),
9192         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
9193         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
9194         (gst_caps_structure_intersect_field), (gst_caps_intersect),
9195         (gst_caps_structure_subtract_field), (gst_caps_subtract),
9196         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
9197         (gst_caps_structure_figure_out_union),
9198         (gst_caps_switch_structures), (gst_caps_do_simplify),
9199         (gst_caps_replace), (gst_caps_from_string),
9200         (gst_caps_copy_conditional):
9201         * gst/gstcaps.h:
9202         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
9203         (_gst_clock_id_free), (gst_clock_id_unref),
9204         (gst_clock_id_compare_func), (gst_clock_id_wait),
9205         (gst_clock_id_wait_async), (gst_clock_class_init),
9206         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
9207         (gst_clock_get_time), (gst_clock_set_time_adjust),
9208         (gst_clock_set_property), (gst_clock_get_property):
9209         * gst/gstclock.h:
9210         * gst/gstcompat.h:
9211         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
9212         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
9213         * gst/gstdata.h:
9214         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
9215         (gst_element_requires_clock), (gst_element_provides_clock),
9216         (gst_element_set_clock), (gst_element_clock_wait),
9217         (gst_element_wait), (gst_element_set_time_delay),
9218         (gst_element_is_indexable), (gst_element_add_pad),
9219         (gst_element_add_ghost_pad), (gst_element_remove_pad),
9220         (pad_compare_name), (gst_element_get_static_pad),
9221         (gst_element_request_pad), (gst_element_get_request_pad),
9222         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
9223         (gst_element_class_get_pad_template_list),
9224         (gst_element_class_get_pad_template), (gst_element_error_func),
9225         (gst_element_get_random_pad), (gst_element_get_event_masks),
9226         (gst_element_send_event), (gst_element_seek),
9227         (gst_element_get_query_types), (gst_element_query),
9228         (gst_element_get_formats), (gst_element_convert),
9229         (gst_element_is_locked_state), (gst_element_set_locked_state),
9230         (gst_element_sync_state_with_parent), (gst_element_change_state),
9231         (gst_element_finalize), (gst_element_yield),
9232         (gst_element_interrupt), (gst_element_set_scheduler),
9233         (gst_element_get_scheduler), (gst_element_set_loop_function):
9234         * gst/gstelement.h:
9235         * gst/gstevent.h:
9236         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
9237         (gst_format_get_by_nick), (gst_format_get_details),
9238         (gst_format_iterate_definitions):
9239         * gst/gstformat.h:
9240         * gst/gstindex.c: (gst_index_gtype_resolver):
9241         * gst/gstinfo.c:
9242         * gst/gstinfo.h:
9243         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
9244         (gst_mem_chunk_free):
9245         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9246         (gst_object_ref), (gst_object_unref), (gst_object_sink),
9247         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
9248         (gst_object_dispatch_properties_changed),
9249         (gst_object_set_name_default), (gst_object_set_name),
9250         (gst_object_get_name), (gst_object_set_name_prefix),
9251         (gst_object_get_name_prefix), (gst_object_set_parent),
9252         (gst_object_get_parent), (gst_object_unparent),
9253         (gst_object_check_uniqueness), (gst_object_save_thyself),
9254         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
9255         (gst_object_set_property), (gst_object_get_property),
9256         (gst_object_get_path_string):
9257         * gst/gstobject.h:
9258         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9259         (gst_real_pad_init), (gst_real_pad_get_property),
9260         (gst_pad_custom_new), (gst_pad_get_direction),
9261         (gst_pad_set_active), (gst_pad_is_active),
9262         (gst_pad_set_event_function), (gst_pad_is_linked),
9263         (gst_pad_link_free), (gst_pad_link_intersect),
9264         (gst_pad_link_fixate), (gst_pad_set_caps),
9265         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
9266         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
9267         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
9268         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
9269         (gst_pad_get_caps), (gst_pad_peer_get_caps),
9270         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
9271         (gst_pad_realize), (gst_pad_get_allowed_caps),
9272         (gst_real_pad_dispose), (gst_real_pad_finalize),
9273         (gst_pad_collectv), (gst_pad_collect_valist),
9274         (gst_pad_template_dispose), (gst_pad_template_new),
9275         (gst_pad_get_internal_links):
9276         * gst/gstpad.h:
9277         * gst/gstpipeline.c: (gst_pipeline_dispose),
9278         (gst_pipeline_change_state):
9279         * gst/gstpipeline.h:
9280         * gst/gstplugin.c:
9281         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
9282         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
9283         * gst/gstpluginfeature.h:
9284         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
9285         * gst/gstquery.c: (_gst_query_type_initialize),
9286         (gst_query_type_register), (gst_query_type_get_by_nick),
9287         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
9288         * gst/gstquery.h:
9289         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
9290         * gst/gstscheduler.c: (gst_scheduler_add_element),
9291         (gst_scheduler_factory_create):
9292         * gst/gststructure.c: (gst_structure_set_parent_refcount),
9293         (gst_structure_free), (gst_structure_set_name),
9294         (gst_structure_id_set_value), (gst_structure_set_value),
9295         (gst_structure_set_valist), (gst_structure_remove_field),
9296         (gst_structure_remove_fields),
9297         (gst_structure_remove_fields_valist),
9298         (gst_structure_remove_all_fields), (gst_structure_foreach),
9299         (gst_structure_map_in_place),
9300         (gst_caps_structure_fixate_field_nearest_int),
9301         (gst_caps_structure_fixate_field_nearest_double):
9302         * gst/gststructure.h:
9303         * gst/gstsystemclock.c: (gst_system_clock_class_init),
9304         (gst_system_clock_init), (gst_system_clock_dispose),
9305         (gst_system_clock_async_thread),
9306         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
9307         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9308         * gst/gstsystemclock.h:
9309         * gst/gsttag.c: (gst_tag_list_add_value_internal),
9310         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
9311         * gst/gsttaginterface.c:
9312         * gst/gstthread.c: (gst_thread_dispose),
9313         (gst_thread_release_children_locks), (gst_thread_change_state),
9314         (gst_thread_main_loop):
9315         * gst/gsttrashstack.h:
9316         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
9317         * gst/gsttypes.h:
9318         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9319         (gst_element_request_pad), (gst_element_get_pad_from_template),
9320         (gst_element_request_compatible_pad),
9321         (gst_element_get_compatible_pad_filtered),
9322         (gst_element_get_compatible_pad), (gst_element_state_get_name),
9323         (gst_element_link_pads_filtered), (gst_element_link_filtered),
9324         (gst_element_link_many), (gst_element_link),
9325         (gst_element_link_pads), (gst_element_unlink_pads),
9326         (gst_element_unlink_many), (gst_element_unlink),
9327         (gst_pad_can_link_filtered), (gst_pad_can_link),
9328         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
9329         (gst_object_default_error), (gst_bin_add_many),
9330         (gst_bin_remove_many), (gst_element_populate_std_props),
9331         (gst_element_class_install_std_props), (gst_buffer_merge),
9332         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
9333         (link_fold_func), (gst_pad_proxy_setcaps):
9334         * gst/gstutils.h:
9335         * gst/gstvalue.c: (gst_value_deserialize_string):
9336         * gst/parse/grammar.y:
9337         * gst/schedulers/gstbasicscheduler.c:
9338         (gst_basic_scheduler_cothreaded_chain),
9339         (gst_basic_scheduler_chain_recursive_add),
9340         (gst_basic_scheduler_pad_link):
9341         * gst/schedulers/gstoptimalscheduler.c:
9342         (get_group_schedule_function),
9343         (gst_opt_scheduler_state_transition),
9344         (gst_opt_scheduler_add_element), (element_get_reachables_func):
9345         * libs/gst/bytestream/bytestream.c:
9346         * libs/gst/dataprotocol/dataprotocol.c:
9347         (gst_dp_header_from_buffer):
9348         * po/nb.po:
9349         * po/ru.po:
9350         * tests/threadstate/threadstate2.c: (eos):
9351         * tools/gst-compprep.c: (main):
9352         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
9353         (print_pad_info), (print_children_info):
9354         * tools/gst-launch.c: (idle_func), (main):
9355         * tools/gst-md5sum.c: (idle_func), (main):
9356         * tools/gst-xmlinspect.c: (print_element_info):
9357         First THREADED backport attempt, focusing on adding locks and
9358         making sure the API is threadsafe. Needs more work. More docs
9359         follow this week.
9360
9361 2005-02-24  Andy Wingo  <wingo@pobox.com>
9362
9363         * tests/bench-complexity.scm:
9364         * tests/complexity.gnuplot: New files, good for running complexity
9365         benchmarks.
9366
9367         * tests/Makefile.am:
9368         * tests/complexity.c: New test, sets up N elements, at each level
9369         teeing into M streams per element. Eeeenteresting.
9370
9371         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
9372         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
9373         running bench-mass_elements.scm.
9374
9375         * tests/bench-mass_elements.scm: New script, runs mass_elements
9376         for various numbers of identities, outputting the results to a
9377         file. Requires guile 1.6. Just for testing.
9378
9379 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9380
9381         * gst/schedulers/fairscheduler.c:
9382           compile with debug disabled
9383
9384 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9385
9386         * configure.ac:
9387           hunting season on 0.9 is now OPEN