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