             var fetchBinStream : URLStream = o.fetchBinReq.stream;
             _resource = _resource || new ByteArray();
             var prev : Number = _resource.position;
-            var len : Number =
-                Math.min(fetchBinStream.bytesAvailable, 128*1024);
-            // XXX arik: seems that flashls already have timer to process data
-            // so no need for this one
-            len = fetchBinStream.bytesAvailable;
+            var len : Number = fetchBinStream.bytesAvailable;
             if (len)
             {
                 fetchBinStream.readBytes(_resource, _resource.length, len);
                 _resource.position = prev;
-                var finalLength : Number = o.fetchBinReq.bytesTotal;
                 dispatchEvent(new ProgressEvent(ProgressEvent.PROGRESS, false,
-                    false, _resource.length, finalLength));
+                    false, _resource.length, o.fetchBinReq.bytesTotal));
             }
             if (_resource.length < o.fetchBinReq.bytesTotal)
             {

            }
        }

        private static function hola_onFragmentData(o : Object) : void{
            var stream : JSURLStream;
            try {
                if (!(stream = reqs[o.req_id]))

            /* XXX arik: setting this to true will pass js exceptions to
             * as3 and as3 exceptions to js. this may break current customer
             * code
             ExternalInterface.marshallExceptions = true;
             */
            ExternalInterface.addCallback('hola_onFragmentData',
                hola_onFragmentData);
            js_api_inited = true;
