 					progressUpdates(true);
 					// See onMetaDataHandler() for other condition, since duration is vital.
 
-                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: NetStream.Play.Start end"));
-
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " end"));
 					break;
 				case "NetStream.Play.Stop":
-					this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "NetStream.Play.Stop: getDuration() - getCurrentTime() = " + (getDuration() - getCurrentTime())));
+					this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " begin: getDuration() - getCurrentTime() = " + (getDuration() - getCurrentTime())));
 
 					// Check if media is at the end (or close) otherwise this was due to download bandwidth stopping playback. ie., Download is not fast enough.
 					if(Math.abs(getDuration() - getCurrentTime()) < 1000) { // Using 1000ms to be extra safe, testing found that for M4A files, playHead(99.9) caused a stuck state due to firing with up to 186ms left to play.
 						endedEvent();
 					}
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " end"));
 					break;
 				case "NetStream.Seek.InvalidTime":
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " begin"));
 					// Used for capturing invalid set times and clicks on the end of the progress bar.
 					endedEvent();
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " end"));
 					break;
 				case "NetStream.Play.StreamNotFound":
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " begin"));
 					myStatus.error(); // Resets status except the src, and it sets srcError property.
 					this.dispatchEvent(new JplayerEvent(JplayerEvent.JPLAYER_ERROR, myStatus));
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " end"));
 					break;
 				case "NetStream.SeekStart.Notify":
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " begin"));
 					myStatus.flashIsSeeking = true;
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " end"));
 					break;
 				case "NetStream.Seek.Notify":
 					// A typical seek call involves 1) pausing the stream, 2) seeking, then 3) waiting for Flash to finish seeking. We're at step 3 now.
 					// However, step 3 can be triggered when someone hits pause then seeks around. So, we need to keep track of that case.
 					// myStatus.playAfterFlashIsSeeking is the flag that distinguishes this use case.
+                    this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "netStatusHandler: " + code + " begin"));
 					if(myStatus.playAfterFlashIsSeeking){
 						myStatus.playAfterFlashIsSeeking = false; // Unset the flag.
 						myStatus.isPlaying = true; // Set immediately before playing. Could affects events.

			} else {
				this.dispatchEvent(new JplayerEvent(JplayerEvent.DEBUG_MSG, myStatus, "onMetaDataHandler: Already read (NO EFFECT)"));
			}
		}
	}
}

						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.
