ok I am trying to figure out if this is a bug or am I doing something out of order here.
I am on a mac running OS X 10.10.3 Flex SDK 4.12 with Air 4.0
I am attempting to play a StageVideo from a NetStream that is feeding in from a capture card. That all works perfectly until I want the video to play full screen. The NetStream is feeding a 720x480 video stream and If I set the Stagevideo viewport to any size, it respects the 1:1 zoom just fine and scales accordingly. But, When I go fullscreen and set the viewport to the stage width and height, the video seems to be scaled correctly... however only the top 720x480 pixels of the video show (as if it is masked by the video source dimensions?!?). If I then hit escape to exit fullscreen (with my app width and height set to my screen size even)... the stage video properly fills the entire screen (but with mac tool bars showing of course).
At this point I'm thinking this is a bug? I have tried reversing the order of events (fullscreen first, then init the video... init video first, then go full screen and reset the viewport) but get the same results in either order.
protected function init():void{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, onStageVideoState);
}
private function onStageVideoState(event:StageVideoAvailabilityEvent):void {
stage.removeEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, onStageVideoState);
if(event.availability == StageVideoAvailability.AVAILABLE){
_video = stage.stageVideos[0];
_video.addEventListener(StageVideoEvent.RENDER_STATE, onStageVideoRenderStateChange);
// this captures the cam and feeds it through a NetStream to the StageVideo... this part works fine
var capture:CaptureDevice = new CaptureDevice();
capture.play(ffmpeg, _video);
} else {
// borked
}
}
private function onStageVideoRenderStateChange(event:Object):void {
stage.addEventListener(FullScreenEvent.FULL_SCREEN, onFullScreen);
stage.displayState = StageDisplayState.FULL_SCREEN;
}
private function onFullScreen(event:FullScreenEvent):void{
stage.removeEventListener(FullScreenEvent.FULL_SCREEN, onFullScreen);
_video.viewPort = new Rectangle(0,0,stage.stageWidth, stage.stageHeight);
}
anyone else seen this weirdness? Here's a shot of it masking in fullscreen:

I experienced a similar issue, except playing a 1920 x 1080 mp4.
I found I could use a timer hack to solve it. Video is no longer masked to quarter size, and menu bar is hidden.