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

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

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

			_bytesLoaded = e.bytesLoaded;
			_bytesTotal = e.bytesTotal;

			// 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 {
