             frameEndTimestamp = yCbCrBuffer.timestamp;
 
             var start:Number, delta:Number;
+            start = getTimestamp();
 
             // colorspace conversion
-            start = getTimestamp();
             var bytesARGB:ByteArray = codec.convertYCbCr(yCbCrBuffer);
-            delta = getTimestamp() - start;
-            colorTime += delta;
-            lastFrameDecodeTime += delta;
 
             // drawing
-            start = getTimestamp();
             var rect:Rectangle = new Rectangle(0, 0, videoInfo.frameWidth, videoInfo.frameHeight);
             bytesARGB.position = 0;
             bitmapData.setPixels(rect, bytesARGB);
+
             delta = getTimestamp() - start;
-
             lastFrameDecodeTime += delta;
             drawingTime += delta;
             framesProcessed++;

                videoDecodingTime = 0;
                audioDecodingTime = 0;
                bufferTime = 0;
                colorTime = 0;
                drawingTime = 0;
                totalJitter = 0;
            });

                    videoDecodingTime: videoDecodingTime,
                    audioDecodingTime: audioDecodingTime,
                    bufferTime: bufferTime,
                    drawingTime: drawingTime,
                    droppedAudio: droppedAudio,
                    jitter: totalJitter / framesProcessed
