gstreamer/tests
Andy Wingo 4b908e33e0 gst/gstutils.c: RPAD fixes all around.
Original commit message from CVS:
2005-06-08  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c: RPAD fixes all around.
(gst_element_link_pads): Refcounting fixes.

* tools/gst-inspect.c:
* tools/gst-xmlinspect.c:
* parse/grammar.y:
* gst/base/gsttypefindhelper.c:
* gst/base/gstbasesink.c:
* gst/gstqueue.c: RPAD fixes.

* gst/gstghostpad.h:
* gst/gstghostpad.c: New ghost pad implementation as full proxy
pads. The tricky thing is they provide both source and sink
interfaces, since they proxy the internal pad for the external
pad, and vice versa. Implement with lower-level ProxyPad objects,
with the interior proxy pad as a child of the exterior ghost pad.
Should write a doc on this.

* gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
(gst_pad_set_name, gst_pad_set_parent): Macros removed, use
gst_object API.

* gst/gstpad.c: Big changes. No more stub base GstPad, now all
pads are real pads. No ghost pads in this file. Not documenting
the myriad s/RPAD/PAD/ and REALIZE fixes.
(gst_pad_class_init): Add properties for "direction" and
"template". Both are construct-only, so they can't change during
the life of the pad. Fixes properly deriving from GstPad.
(gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
derived objects, just set properties when creating the objects via
g_object_new.
(gst_pad_get_parent): Implement as a function, return NULL if the
parent is not an element.
(gst_pad_get_real_parent, gst_pad_add_ghost_pad)
(gst_pad_remove_ghost_pad, gst_pad_realize): Removed.

* gst/gstobject.c (gst_object_class_init): Make name a construct
property. Don't set it in the object init.

* gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
with UNKNOWN direction.
(gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
(gst_element_remove_pad): Remove ghost-pad special cases.
(gst_element_pads_activate): Remove rpad cruft.

* gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
catch the pad's-parent-not-an-element case.

* gst/gst.h: Include gstghostpad.h.

* gst/gst.c (init_post): No more real, ghost pads.

* gst/Makefile.am: Add gstghostpad.[ch].

* check/Makefile.am:
* check/gst/gstbin.c:
* check/gst/gstghostpad.c (test_ghost_pads): Check that linking
into a bin creates ghost pads, and that the refcounts are right.
Partly moved from gstbin.c.
2005-06-08 22:16:27 +00:00
..
benchmarks tests/instantiate/: Add test to test speed of caps copy and free. 2005-03-31 15:00:11 +00:00
bufspeed reorganize C/LIB flags add gst_info to gstcompat.h 2004-05-04 12:38:36 +00:00
check gst/gstutils.c: RPAD fixes all around. 2005-06-08 22:16:27 +00:00
instantiate tests/instantiate/: Add test to test speed of caps copy and free. 2005-03-31 15:00:11 +00:00
memchunk add support for google malloc if available 2005-04-01 10:14:45 +00:00
muxing reorganize C/LIB flags add gst_info to gstcompat.h 2004-05-04 12:38:36 +00:00
negotiation reorganize C/LIB flags add gst_info to gstcompat.h 2004-05-04 12:38:36 +00:00
old small doc fixes 2005-05-17 17:22:31 +00:00
probes reorganize C/LIB flags add gst_info to gstcompat.h 2004-05-04 12:38:36 +00:00
sched reorganize C/LIB flags add gst_info to gstcompat.h 2004-05-04 12:38:36 +00:00
seeking reorganize C/LIB flags add gst_info to gstcompat.h 2004-05-04 12:38:36 +00:00
threadstate First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor... 2005-03-07 18:27:42 +00:00
.gitignore tests/mass_elements.gnuplot: gnuplot file for the mass_elements benchmark. Run as gnuplot mass_elements.gnuplot > foo... 2005-02-24 12:31:12 +00:00
bench-complexity.scm tests/: New files, good for running complexity benchmarks. 2005-02-24 17:12:19 +00:00
bench-mass_elements.scm tests/mass_elements.gnuplot: gnuplot file for the mass_elements benchmark. Run as gnuplot mass_elements.gnuplot > foo... 2005-02-24 12:31:12 +00:00
complexity.c tests/instantiate/: Add test to test speed of caps copy and free. 2005-03-31 15:00:11 +00:00
complexity.gnuplot tests/: New files, good for running complexity benchmarks. 2005-02-24 17:12:19 +00:00
lat.c don't mix tabs and spaces 2004-03-15 19:27:17 +00:00
Makefile.am there is no speed. really. 2005-04-25 11:51:09 +00:00
mass_elements.c Next big merge. 2005-03-21 17:34:02 +00:00
README put everything in tests/ 2002-01-05 01:25:28 +00:00
spidey_bench.c gst/gstpad.c: throw an error if the getcaps function does not return a subset of the template caps. 2004-06-29 00:34:38 +00:00

This directory contains various tests designed to test GStreamer's
behavior. When these tests work, they should be recast in the form
of regression tests and moved to ../testsuite.