I'm able to render a video from the file system using a TFilterGraph and a TVideoWindow within Delphi 2010. I'd like to render the video from a MemoryStream instead of directly from the file system. Here's the concept:
How do I tell the FilterGraph to use a MemoryStream instead of a file?
There's a working demo published on Ciuly's web corner answering the last part of your question: http://www.ciuly.com/delphi/multimedia/using-directshow-with-dspack-play-multimedia-content-from-stream/
As for the other two parts, loading to and reading from a database blob field:
//add a file stream to a blob field
MemoryStream:= TMemoryStream.Create;
try
MemoryStream.LoadFromFile(VideoFileName);
MemoryStream.Position:= 0;
ClientDataSet1.Edit;
ClientDataSet1YOURBLOBFIELD.LoadFromStream(MemoryStream);
ClientDataSet1.Post;
finally
MemoryStream.Free;
end;
//read a memory stream from a blob field
MemoryStream:= TMemoryStream.Create;
try
ClientDataSet1YOURBLOBFIELD.SaveToStream(MemoryStream);
MemoryStream.Position:= 0;
//do your magic with the memory stream here
finally
MemoryStream.Free;
end;