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