Let's say I have a FLV that "lives" on a server, and I serve it up through,
say, Ruby. The Ruby script takes care of obtaining the FLV from the filesystem
and renders it to the browser.

Inside my client-side SWF, my code to connect to the Ruby application and get
the FLV may look like this:

[hr]
var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);

tvid.attachVideo(ns);
ns.setBufferTime(2);

statusID = setInterval(videoStatus, 200);

ns.onStatus = function(info) {

trace(info.code);
if(info.code == "NetStream.Buffer.Full") {
bufferClip._visible = false;
ending = false;

clearInterval( statusID );
statusID = setInterval(videoStatus, 200);
}
if(info.code == "NetStream.Buffer.Empty") {
if ( !ending ) {
bufferClip._visible = true;
}
}
if(info.code == "NetStream.Play.Stop") {
bufferClip._visible = false;
//ending = true;
}
if(info.code == "NetStream.Play.Start") {
ending = false;
}
if(info.code == "NetStream.Buffer.Flush") {
ending = true;
}
}

//Play it
ns.play("http://localhost:3000/stream");

==============
It seems to me that the "decision" of whether or not to cache is entirely
dependent on the access method within the client-side SWF. So, if in this
case, I'm using NetStream to stream the video, will it still be cached on the
client end? Or do I -have- to use FMS to prevent client caching - and if so,
why? How does FMS prevent the client from caching the data (isn't it up to the
client to delete the data bits after they're viewed?)

Thanks a bunch for the help.