Preloader progress reporting wierd/wrong numbers

Im loading a bunch of external files and tracking the load progress using a ProgressEvent listener. I want to make a simple looking preloader (maybe a loading bar or something), but the numbers Im getting from the ProgressEvent are not cooperating.


private function loadingProgress(e:ProgressEvent):void {		
   trace ("progress: " + e.bytesLoaded + "/" + e.bytesTotal);
}

Here is some sample output:


progress: 0/0
progress: 0/0
progress: 0/0
progress: 0/0
progress: 0/0
progress: 8156/0
progress: 35260/0
progress: 35770/0
progress: 36009/0
progress: 36203/0
progress: 36499/0
progress: 36767/0
progress: 36767/0
progress: 36767/0
progress: 36767/0
progress: 36767/0
progress: 36767/0
progress: 36767/0
progress: 102303/0
progress: 167839/0
progress: 233375/0
progress: 298911/0
progress: 364447/0
progress: 429983/0
progress: 495519/0
progress: 561055/0
progress: 626591/0
progress: 692127/0
progress: 757663/0
progress: 823199/0
progress: 888735/0
progress: 954271/0
progress: 1019807/0
progress: 1085343/0
progress: 1150879/0
progress: 1216415/0
progress: 1281951/0
progress: 1347487/0
progress: 1413023/0
progress: 1478559/0
progress: 1544095/0
progress: 1609631/0
progress: 1675167/0
progress: 1740703/0
progress: 1806239/0
progress: 1871775/0
progress: 1937311/0
progress: 2002847/0
progress: 2068383/0
progress: 2133919/0
progress: 2199455/0
progress: 2264991/0
progress: 2330527/0
progress: 2396063/0
progress: 2461599/0
progress: 2527135/0
progress: 2592671/0
progress: 2658207/0
progress: 2723743/0
progress: 2789279/0
progress: 2854815/0
progress: 2920351/0
progress: 2985887/0
progress: 3051423/0
progress: 3116959/0
progress: 3182495/0
progress: 3248031/0
progress: 3313567/0
progress: 3379103/0
progress: 3444639/0
progress: 3510175/0
progress: 3575711/0
progress: 3641247/0
progress: 3706783/0
progress: 3772319/0
progress: 3837855/0
progress: 3903391/0
progress: 3968927/0
progress: 4034463/0
progress: 4099999/0
progress: 4165535/0
progress: 4231071/0
progress: 4296607/0
progress: 4362143/0
progress: 4427679/0
progress: 4493215/0
progress: 4558751/0
progress: 4624287/0
progress: 4689823/0
progress: 4755359/0
progress: 4820895/0
progress: 4886431/0
progress: 4951967/0
progress: 5017503/0
progress: 5083039/0
progress: 5148575/0
progress: 5214111/0
progress: 5279647/0
progress: 5345183/0
progress: 5410719/0
progress: 5476255/0
progress: 5541791/0
progress: 5607327/0
progress: 5672863/0
progress: 5738399/0
progress: 5803935/0
progress: 5869471/0
progress: 5935007/0
progress: 6000543/0
progress: 6066079/0
progress: 6131615/0
progress: 6197151/0
progress: 6262687/0
progress: 6328223/0
progress: 6393759/0
progress: 6459295/0
progress: 6524831/0
progress: 6590367/0
progress: 6655903/0
progress: 6721439/0
progress: 6786975/0
progress: 6852511/0
progress: 6918047/0
progress: 6983583/0
progress: 7049119/0
progress: 7114655/0
progress: 7180191/0
progress: 7245727/0
progress: 7311263/0
progress: 7376799/0
progress: 7442335/0
progress: 7507871/0
progress: 7573407/0
progress: 7638943/0
progress: 7704479/0
progress: 7770015/0
progress: 7835551/0
progress: 7901087/0
progress: 7966623/0
progress: 8032159/0
progress: 8097695/0
progress: 8163231/0
progress: 8228767/0
progress: 8294303/0
progress: 8359839/0
progress: 8425375/0
progress: 8490911/0
progress: 8556447/0
progress: 8621983/0
progress: 8687519/0
progress: 8753055/0
progress: 8818591/0
progress: 8884127/0
progress: 8949663/0
progress: 9015199/0
progress: 9080735/0
progress: 9146271/0
progress: 9211807/0
progress: 9277343/0
progress: 9342879/0
progress: 9408415/0
progress: 9473951/0
progress: 9539487/0
progress: 9605023/0
progress: 9670559/0
progress: 9736095/0
progress: 9801631/0
progress: 9867167/0
progress: 9932703/0
progress: 9998239/0
progress: 10063775/0
progress: 10129311/0
progress: 10194847/0
progress: 10260383/0
progress: 10325919/0
progress: 10391455/0
progress: 10456991/0
progress: 10522527/0
progress: 10588063/0
progress: 10653599/0
progress: 10719135/0
progress: 10743291/0
progress: 10743291/0
progress: 10747888/0
progress: 10747888/0
progress: 10755411/0
progress: 10755411/0
progress: 10759590/0
progress: 10759590/0
progress: 10766277/0
progress: 10766277/0
progress: 10773800/0
progress: 10797553/0
progress: 10804592/0
progress: 10804849/0
progress: 10805146/0
progress: 10805296/0
progress: 10805296/0
progress: 10807084/0
progress: 10807084/0
progress: 10808755/0
progress: 10808755/0
progress: 10812516/0
progress: 10812516/0
progress: 10820039/0
progress: 10820039/701092
progress: 10823800/701092
progress: 10823800/701092
progress: 10832159/701092
progress: 10832159/10839682
progress: 10839682/10839682
progress: 10839682/10839682

There are several problems with these numbers!

  1. bytesLoaded is zero for the first 5 or so fires of the progressEvent. Thats pretty useless. Why is the event even being fired? I can work around this easily by ignoring the event until bytesLoaded is greater than zero. But why is this happening?

  2. bytesTotal is zero, almost until the very end of the loading process. This means that I cant calculate the percent loaded, and cant properly update the progress bar.

  3. bytesTotal becomes some number greater than zero, but less than the actual total. Its bad enough that bytesTotal was zero for most of the loading progress, but now it becomes some number that is NOT the total bytes! I think I prefered it being just zero!

I thought these issues might be because I was loading several files, so I tried just loading a single large file and I had the same problems.

Ive researched this a lot and the closest thing to an answer that I found was that “the server is not sending proper headers for the files”. Well first of all I’m testing this locally so I’m not sure what that means. But even if its true, whats the work around? I will not have any control over the server that will host my movie.