One of the talented folks we have on the Flash Player Quality Engineering team has a theory on why some people are getting an error when they try to use BitmapData.draw on a progressive FLV that is even from the same domain.
As I’ve written about previously, there was a security exploit for FMS streamed content that involved detaching and re-attaching the stream to get around BitmapData.draw limitations. This exploit only was relevant to streamed content, but the last piece of the puzzle was that it could be used with no ill-effect on progressive video as well.
So, when the bug was closed in 9.0.115, the fix had a side effect of making the progressive case also not work. The good news is that if you remove the detach/re-attach code that was never needed, your application will resume working as expected. The code you would be looking for is something like:
//Attach the video with netstream object
myVideo.attachNetStream(my_netstream);
// disconnect the NetStream and call draw()
myVideo.attachNetStream(null);
bmpData.draw (myVideo);
// reattach the NetStream to continue playing the video
myVideo.attachNetStream(my_netstream);
The reason you would get this error is because while the NetStream is detached, there is no URL/domain to validate the security context against (as it should be). I have a feeling that this theory is correct. In working with numerous folks that commented on my previous post, none of us were able to re-create the issue on a simple case. I hope it was just because the detach/re-attach code was not added back in that the issue could not be reproduced.