Wowza Community

Center CameraView inside the UIView

I wrote:

    __block UIView* result = nil;
    NSString* key = param;
    dispatch_sync(dispatch_get_main_queue(), ^{
        if (container == nil) {
            UIView *topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
            container = [[UIView alloc] initWithFrame:topView.bounds];
            [container setBackgroundColor:(UIColor.blackColor)];
        if (self.goCoder == nil) {
            // Register the GoCoder SDK license key
            NSError *goCoderLicensingError = [WowzaGoCoder registerLicenseKey:key];
            if (goCoderLicensingError != nil) {
                // Log license key registration failure
                com_codename1_io_Log_p___java_lang_String(CN1_THREAD_GET_STATE_PASS_ARG fromNSString(CN1_THREAD_GET_STATE_PASS_ARG [goCoderLicensingError localizedDescription]));
            } else {
                // Initialize the GoCoder SDK
                self.goCoder = [WowzaGoCoder sharedInstance];
        if (self.goCoder != nil) {
            // Associate the U/I view with the SDK camera preview
            self.goCoder.cameraView = container;
            // Start the camera preview
            [self.goCoder.cameraPreview startPreview];
            result = container;
    return result;

Note that I used:

[container setBackgroundColor:(UIColor.blackColor)];

to see the size of the container (the default color is white).

Result (the camera preview IS NOT CENTERED inside its black UIView):

Moreover, when I rotate the screen from portrait to landscape, I get:

Could you help me to fix my code?

Note that for me it’s mandatory that I return a UIView with the camera preview (the reason is explained here:

Thank you