Are you sure that, at this point, graphic has finished to load the video and has the contentAspectRatio properly set? Please notice that graphic.loadVideo is only called when the component is completely created (FlexEvent.CREATION_COMPLETE). I'm not 100% sure, but I think that this comparison and assignment should be made after graphic.loadVideo, inside the event listener.

The same applies to addCameraForHelper and addAvatarFor.