/* */ throws QTException
/* */ {
/* 327 */ synchronized (QTNative.globalsLock) {
/* 328 */ synchronized (this)
/* */ {
/* */ CompressedFrameInfo localCompressedFrameInfo;
/* 329 */ if (this.inPreflightMode) {
/* 330 */ localCompressedFrameInfo = this.seq.compressFrame(this.gw, this.gwRect, 4, this.compressedImage);
/* */
/* 334 */ return true;
/* */ }
/* 336 */ if ((this.recording) && (this.currentRecordFrame++ <= this.recordFrames)) {
/* 337 */ localCompressedFrameInfo = this.seq.compressFrame(this.gw, this.gwRect, 4, this.compressedImage);
/* */
/* 341 */ int i = localCompressedFrameInfo.getSimilarity() == 0 ? 1 : 0;
/* 342 */ this.vidMedia.addSample(this.imageHandle, 0, localCompressedFrameInfo.getDataSize(), 600 / this.scale, this.recDesc, 1, i != 0 ? 0 : 1);
/* */
/* 350 */ if (this.currentRecordFrame > this.recordFrames) {
/* 351 */ cleanupMovie();
/* 352 */ this.recording = false;
/* 353 */ this.cbThread.start();