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