"Why don't you just start a thread which does the I/O with standard dos.library functions and uses PutMsg/GetMsg to communicate with the main task. This way you have the total control over what is going on and use standard functions which are available on all Amiga systems."
I can't use standard dos.library functions to do the I/O because I'm using a a free program from Aminet (Digicam) to send the input from a Digital camera. The program writes files. I also prefer not to try to modify the source, wich is available. I've also noticed some other programs of the same type for other cameras on Aminet and I think it would be cool to be able to use them to send the input too, so that people with different cameras could also try it out. Those programs also write files. I think I'm gonna let it be like that (just read the files again) and in the future take a look around to try to make an interface for drivers. Just an idea I'm really a bit lost as to if it would be worth it. Souldn't be much more them sending a few commands if the protocol to the cameras has been found I guess, because I wouldn't need to be using all camera functions of each camera.
Actually two separate tasks, one for the I/0 and buffer,the other to do the magic, is how it is now, mainly so that the buffer can be independent and to avoid loops. I read somewhere that Exec relies on interrupts to activate the scheduler between the time slice of each task, so it should be the most effective way also, I think.
I'm very slowly getting it done... :-)