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