             var samplesWritten:int = 0;
             var leftSample:Number, rightSample:Number;
 
+            droppedAudioTime = (event.position / targetRate) - totalBufferedAudio;
             while (samplesWritten < audioBufferSize) {
 
                 if (audioBuffers.length == 0) {

            if (soundChannel == null) {
                return 0;
            } else {
                return soundChannel.position / 1000 - fudgeFactor;
            }
        }


        private var sound:Sound = null;
        private var soundChannel:SoundChannel = null;
        private var audioBuffers:Vector.<Vector.<ByteArray>> = new Vector.<Vector.<ByteArray>>();
        private var starvedAudioTime:Number = 0; // seconds; amount of time spent "playing" when starved for audio
        private var totalBufferedAudio:Number = 0; // seconds; total amount of audio time we've processed
        private var droppedAudioTime:Number = 0; // seconds; amount of audio time not accounted for, assumed dropped

        // Log debug stuff to the JS console for convenience
        private function log(str:String):void {
