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