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