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