 			_bytesLoaded = e.bytesLoaded;
 			_bytesTotal = e.bytesTotal;
 
-			sendEvent(HtmlMediaEvent.PROGRESS);
+			// this happens too much to send every time
+			//sendEvent(HtmlMediaEvent.PROGRESS);
+			
+			// so now we just trigger a flag and send with the timer
+			_bufferingChanged = true;
 		}
 
 		function id3Handler(e:Event):void {

		private var _bytesLoaded:Number = 0;
		private var _bytesTotal:Number = 0;
		private var _bufferedTime:Number = 0;

		private var _currentUrl:String = "";
		private var _autoplay:Boolean = true;

				_duration = duration;
				sendEvent(HtmlMediaEvent.LOADEDMETADATA);
			}
			
			// check for progress
			if (_bufferingChanged) {
				
				sendEvent(HtmlMediaEvent.PROGRESS);
			
				_bufferingChanged = false;
			}

			// send timeupdate
			sendEvent(HtmlMediaEvent.TIMEUPDATE);
