I add this just to better summarize about RAF, as of my understanding. Sorry if it is partially off-topic but I felt it useless to start another thread.
RAF.Initialize - starts the RAF stream with content from a file on disk (DirAssets not allowed); this stream can grow in size (i.e. appending should work) if third parameter is set to False
RAF. Initialize2 - same as above
RAF.Initialize3 - in a way, it maps RAF functions on the array given as first parameter but, since they still work on an array, boundary limits are to be taken in account.
So, if I understand it correctly, when the data source for RAF is a file, it gets copied to an internal stream while, when the source is an array, RAF adopts a memory-wise attitude working on the same chunk of memory held by the array instead of copying it to an internal stream. That's the reason why "initialize3" refers to a costant size.
udg