HttpException: Server cannot set status after HTTP headers have been sent

I’m not 100% sure what causes it. I have code like this to stream a video response to a client:

var fs = new FileStream(video.FileSystemAddress, FileMode.Open, FileAccess.Read);
return new HttpResult(fs, video.MimeType);

It could be that the client has cancelled/stopped the stream?