Hi KCS_Mobile,
The video feed simply feeds the display rectangle regardless of any orientation i.e. the rotation should have no effect.
If the scan lines are in the wrong orientation then it's probably worth comparing against the Cloud Reco sample. Chances are that the code might be missing the QCAR::setRotation(); code which the scanlines use to understand the current orientation.
If you look at the function below in the EAGLView.mm file within the CloudReco sample, then it will help to explain how it is used.
HTH
N
// *** QCAR will call this method on a single background thread ***
- (void)renderFrameQCAR
{
[framebufferLock lock];
[self setFramebuffer];
if (qUtils.orientationChanged)
{
UIWindow* window = [UIApplication sharedApplication].keyWindow;
QCAR::Vec2F screenSize;
if (qUtils.orientation == UIInterfaceOrientationPortrait)
{
screenSize.data[0] = window.frame.size.width;
screenSize.data[1] = window.frame.size.height;
QCAR::onSurfaceChanged(qUtils.viewSize.width, qUtils.viewSize.height);
QCAR::setRotation(QCAR::ROTATE_IOS_90);
isActivityInPortraitMode = YES;
}
else if (qUtils.orientation == UIInterfaceOrientationPortraitUpsideDown)
{
screenSize.data[0] = window.frame.size.width;
screenSize.data[1] = window.frame.size.height;
QCAR::onSurfaceChanged(qUtils.viewSize.width, qUtils.viewSize.height);
QCAR::setRotation(QCAR::ROTATE_IOS_270);
isActivityInPortraitMode = YES;
}
else if (qUtils.orientation == UIInterfaceOrientationLandscapeLeft)
{
screenSize.data[0] = window.frame.size.height;
screenSize.data[1] = window.frame.size.width;
QCAR::onSurfaceChanged(qUtils.viewSize.height, qUtils.viewSize.width);
QCAR::setRotation(QCAR::ROTATE_IOS_180);
isActivityInPortraitMode = NO;
}
else if (qUtils.orientation == UIInterfaceOrientationLandscapeRight)
{
screenSize.data[0] = window.frame.size.height;
screenSize.data[1] = window.frame.size.width;
QCAR::onSurfaceChanged(qUtils.viewSize.height, qUtils.viewSize.width);
QCAR::setRotation(1);
isActivityInPortraitMode = NO;
}
I think that perhaps a good staring point would be the CloudReco sample and to experiment with the different rotations and see if the scan lines work as you are expecting.
This way you can try out the various orientations, rotations and auto-rotation features.
If this does what you expect it is simply a case of tracking down where exactly your sample is different, and searching through the code for "orientation" and "rotation" will help you to progress.
HTH
N