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