One way to get a web client to launch something that then deals
asynchronously with an information source is to do it with new MIME
types:
* create a new mime type, e.g.,
application/x-cmplayer-connection
and define it as, for example, an ascii text file with, for example,
a URL in it.
* modify CMPlayer so that it takes a URL
You might want to restrict this, to, say, gopher: URLs, just
to keep the implementation simple.
* change your mailcap so that application/x-cmplayer-connection
will launch CMPlayer
* Have the link to the MPEG movie return the URL of the movie as
application/x-cmplayer-connection
That is, don't expect your web browser to be asynchronous, just have it
launch another application which is.
I think a similar setup is useful for allowing someone to open up a
VAT or NV multi-cast session via the web: have the definition for
application/x-mcast-session
be `a text file with a list of address/port descriptions for multicast
audio and video'.
This adds a level of indirection, but allows you to use current
browsers without recompiling and fairly minimal reconfiguration.