 						}
 					}
 				}
+                this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "play: End"));
 				return true;
 			} else {
+                this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "play: End"));
 				return false;
 			}
 		}
 
 		public function seekToPausePositionAndPlay():void {
+            this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "seekToPausePositionAndPlay: Start"));
 			setTemporaryVolume(0);
 			myStatus.playAfterFlashIsSeeking = true; // Note that once flash is done seeking, we should resume/play the stream.
 			myStream.seek(myStatus.pausePosition/1000); // Seek to the pause position.
+            this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "seekToPausePositionAndPlay: End"));
 		}
 
 		public function pause(time:Number = NaN):Boolean {
+            this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "pause: Start - time = " + time));
 			myStatus.playOnLoad = false; // Reset flag in case load/play issued immediately before this command, ie., before onMetadata() event.
 			myStatus.playOnSeek = false; // Reset flag in case play(time) issued before the command and is still seeking to time set.
 

			myStatus.src = src;
			myStatus.srcSet = true;
			timeUpdateEvent();
		}
		public function clearFile():void {
			setFile("");
			myStatus.srcSet = false;
		}
		public function load():Boolean {
			if(myStatus.loadRequired()) {
				myStatus.startingDownload();
				myConnection.connect(null);
				return true;
			} else {
				return false;
			}
		}
		public function play(time:Number = NaN):Boolean {
			var wasPlaying:Boolean = myStatus.isPlaying;
			
			if(!isNaN(time) && myStatus.srcSet) {

						this.dispatchEvent(new JplayerEvent(JplayerEvent.JPLAYER_PLAY, myStatus)); // Note that we're playing the stream again.
					}
					myStatus.flashIsSeeking = false; // Note that Flash is no longer seeking.
                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " end"));
					break;
			}
			// "NetStream.Seek.Notify" event code is not very useful. It occurs after every seek(t) command issued and does not appear to wait for the media to be ready.
            this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: End"));
		}
		private function endedEvent():void {
            this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "endedEvent: Start"));
			var wasPlaying:Boolean = myStatus.isPlaying;
			myStatus.flashIsSeeking = false;
			// This is (theoretically) causing the double-play and LifeHacker bug.
