There are two states a flash preloader can encounter.
1) The totalBytes is known (the final filesize of the swf)
2) The totalBytes is unknown (Occurs if the server is compression the served/output files).
I currently use totalBytes == 0 (Chrome, Safari) that the swf is indeterminate and simply show a looping animation with loadedBytes displayed.
HOWEVER in Firefox totalBytes == loadedBytes. I can only surmise this was done to prevent a lot of divide by zero exceptions when the preloader tries to determine the percent downloaded.
The issue:
Is there any other means to determine in which preloading state (determinate filesize or indeterminate filesize) that I am in?
If apache compresses or gzips all traffic from the server, the swf file loses information on its filesize. Check the totalBytes value which should normally be the size of the swf file, if it is zero then it’s in a gzipped environment.
However a special case check needs to be done for Firefox, since firefox sets the totalBytes == loadedBytes.