[gst-devel] test cases

Wim Taymans wim.taymans at chello.be
Sat Jan 13 18:21:49 CET 2001


For the development of the EOS handling and the testsuite we would like
to create,
we need a set of special 'fake' elements. At least the following
elements are needed:

fakesrc: 
  - should be able to generate buffers
  - _get based and  loopbased
  - must be able to have multiple src pads
  - several patterns for the src pad behavior: round robin, random,
ping-pong, etc...
  - after N buffers it will signal EOS

identity: 
  - just passes the buffer to the next element
  - has a delay (fixed, random within a range, ...) 
  - chain and loopbased
  - has a sleep time (to introduce delay)
  - consume N buffers, output M buffers (async behaviour)

fakesink:
  - unrefs buffers
  - chain based and loopbased
  - must be able to have multiple sink pads
  - an adjustable delay for each sink pad
  - global locking on the sink pads/async behaviour (this means that if 
      a buffer is sent to a sink, the other sinks cannot accept buffers
until the
      first one has completed the delay, or not)

splitter/mixer (tee):
  - we might use the tee element for the splitter. We probably need to
extend it so 
      it can be used as a mixer element too.
  - chain based/loop based
  - optionally DECOUPLED
  - several algorithms: interleave, N-1, N-M, 1-M, 1-1, etc...
  - signal EOS after output of N buffers

We really need those elements first before we can even test our
scheduling and EOS
implementation. after those elements are in place, we should start to
create a testsuite
with -launch and XML files.

This is chance for plugin developers to become familiar with several
features of the
framework, so if you want to help us out with these elements, let us
know which of the
above elements you would like to give a try... I know, this is not as
sexy as writing a DVD
player but believe me, we *really* need these ones first :-)

I'm working on the fakesrc now so you can take a look at how this is
supposed to be done.

Wim

-- 
   Fiery energy lanced out, but the beams struck an intangible wall between
the Gubru and the rapidly turning Earth ship.

   "Water!" it shrieked as it read the spectral report.  "A barrier of water
vapor!  A civilized race could not have found such a trick in the Library!
A civilized race could not have stooped so low!  A civilized race would not
have..."

   It screamed as the Gubru ship hit a cloud of drifting snowflakes.

- Startide Rising, by David Brin





More information about the gstreamer-devel mailing list