[gst-devel] Neat idea for safety

Erik Walthinsen omega at cse.ogi.edu
Tue Dec 12 21:29:53 CET 2000

I had this idea while I was struggling to get to sleep last night:

We can construct an element that wraps another element in such a way as to
provide for segfaults and other nastiness.  This can be used to check out
new plugins without crashing the entire application.

The idea is that this element would actually fork(2) off a new helper
program, which would be given the name and details of the element to load.
pipe(2) would provide a bidirectional communication mechanism, through
which all the normal GST API calls are [de]marshalled.

This method allows potentially anything (if the method of defining what
runs in the helper is just an XML dump) to be run in such a way as to
completely elliminate the possibility of a fault causing the parent
application to fail.

I thought of this when thinking about the possibility of a GstPlay plugin
for Netscape and other browsers.  That'd be very cool, especially when
gstreamer.net puts out a new item saying "new plugin, here, go try it
out!".  A page has an embedded GstPlayer, which loads up and asks to load
the new plugin from the web, then proceeds to play the new media type.
Ideally, the whole pipeline would be inside this helper, but if you trust
the thing in general, you can just put the new plugin in the helper.

         Erik Walthinsen <omega at cse.ogi.edu> - Staff Programmer @ OGI
        Quasar project - http://www.cse.ogi.edu/DISC/projects/quasar/
   Video4Linux Two drivers and stuff - http://www.cse.ogi.edu/~omega/v4l2/
       /  \             SEUL: Simple End-User Linux - http://www.seul.org/
      |    | M E G A           Helping Linux become THE choice
      _\  /_                          for the home or office user

More information about the gstreamer-devel mailing list