                 + cam.currentFPS + '. max fps: ' + cam.fps + ' total cameras: ' + Camera.names.length);
             cam.setMode(stage.stageWidth, stage.stageHeight, 30);
 
-            videoface = new Video(cam.width, cam.height);
+            trace("after setting mode to stage " + stage.stageWidth + ',' + stage.stageHeight
+                + ', size: ' + cam.width + ',' + cam.height + '. fps: '
+                + cam.currentFPS + '. max fps: ' + cam.fps + ' total cameras: ' + Camera.names.length);
+
+            videoface = new Video(stage.stageWidth, stage.stageHeight);
             videoface.attachCamera(cam);
-
             this.addChild(videoface);
+            this.prepVideo();
         }
 
         public function configureCamera(event:Event) : void {

                return;
            }

            // TODO: handle a missing camera
            // TODO: handle a "dead" camera (fps = 0?)
            /* TODO: handle a muted camera? we'll only get an

            nope.y = Math.floor(stage.stageHeight / 2) - Math.floor(nope.height / 2);

            cam.setMode(stage.stageWidth, stage.stageHeight, 30);
            trace("Camera size is " + cam.width + ", " + cam.height + " (tried "
                + stage.stageWidth + "," + stage.stageHeight + ")");

            this.prepVideo();
        }

        public function prepVideo() : void {
            videoface.x = 0;
            videoface.y = 0;
            videoface.width = stage.stageWidth;
            videoface.height = stage.stageHeight;

            var mirror:Matrix = new Matrix();
            mirror.scale(-1, 1);
            mirror.translate(stage.stageWidth, 0);
            videoface.transform.matrix = mirror;
        }

