camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp
branchRCL_3
changeset 13 38fb6f7eacd5
parent 12 51dda465e618
child 15 bf64cebf4673
equal deleted inserted replaced
12:51dda465e618 13:38fb6f7eacd5
   854   PRINT( _L("Camera => CCamCameraController::McaeoVideoPrepareComplete") );
   854   PRINT( _L("Camera => CCamCameraController::McaeoVideoPrepareComplete") );
   855 #ifdef CAMERAAPP_CAE_ERR_SIMULATION
   855 #ifdef CAMERAAPP_CAE_ERR_SIMULATION
   856   HandleVideoEvent( ECamCameraEventVideoInit, aError );
   856   HandleVideoEvent( ECamCameraEventVideoInit, aError );
   857   // DelayCallback( ECamCameraEventVideoInit, aError, 500000 );
   857   // DelayCallback( ECamCameraEventVideoInit, aError, 500000 );
   858 #else
   858 #else
       
   859   if( aError == KErrWrite )
       
   860       {
       
   861       aError = KErrNone;
       
   862       }
   859   if( aError &&
   863   if( aError &&
   860       ( iIveCancel || ( !iIveSequenceActive && iIveRecoveryOngoing ) ) )
   864       ( iIveCancel || ( !iIveSequenceActive && iIveRecoveryOngoing ) ) )
   861       // Return if error and recovering process has been started,
   865       // Return if error and recovering process has been started,
   862       // but this video prepare complete is not part of recovery
   866       // but this video prepare complete is not part of recovery
   863       // i.e. iIveSequenceActive is not active yet.
   867       // i.e. iIveSequenceActive is not active yet.
   992   PRINT( _L("Camera => CCamCameraController::McaeoVideoRecordingComplete") );
   996   PRINT( _L("Camera => CCamCameraController::McaeoVideoRecordingComplete") );
   993 
   997 
   994 #ifdef CAMERAAPP_CAE_ERR_SIMULATION
   998 #ifdef CAMERAAPP_CAE_ERR_SIMULATION
   995   HandleVideoEvent( ECamCameraEventVideoStop, KErrUnknown );
   999   HandleVideoEvent( ECamCameraEventVideoStop, KErrUnknown );
   996 #else
  1000 #else
       
  1001   if( aError == KErrWrite )
       
  1002       {
       
  1003       aError = KErrNone;
       
  1004       }
   997   HandleVideoEvent( ECamCameraEventVideoStop, aError );
  1005   HandleVideoEvent( ECamCameraEventVideoStop, aError );
   998 #endif // CAMERAAPP_CAE_ERR_SIMULATION
  1006 #endif // CAMERAAPP_CAE_ERR_SIMULATION
   999   // Change stopping mode back to default sync mode
  1007   // Change stopping mode back to default sync mode
  1000   if ( iAsyncVideoStopModeSupported )
  1008   if ( iAsyncVideoStopModeSupported )
  1001     {
  1009     {
  2888                   *env->ScreenDevice(),
  2896                   *env->ScreenDevice(),
  2889                   *iViewfinderWindow,
  2897                   *iViewfinderWindow,
  2890                   params().iRect );
  2898                   params().iRect );
  2891               (void) SetVfWindowOrdinal( orgPos ); // back to original
  2899               (void) SetVfWindowOrdinal( orgPos ); // back to original
  2892 
  2900 
  2893               if ( ECamActiveCameraSecondary == appUi->ActiveCamera() )
  2901               if ( appUi && ECamActiveCameraSecondary == appUi->ActiveCamera() )
  2894                   {
  2902                   {
  2895                   iCamera->SetViewFinderMirrorL(ETrue);
  2903                   iCamera->SetViewFinderMirrorL(ETrue);
  2896                   }
  2904                   }
  2897               // VF started succesfully, reset recovery counter
  2905               // VF started succesfully, reset recovery counter
  2898               delete iIdle;
  2906               delete iIdle;
  2957           }
  2965           }
  2958         // -------------------------------
  2966         // -------------------------------
  2959 
  2967 
  2960         iInfo.iVfState = ECamTriActive;
  2968         iInfo.iVfState = ECamTriActive;
  2961         //view finder started now(set stop status as false)
  2969         //view finder started now(set stop status as false)
  2962         appUi->SetViewFinderStoppedStatus( EFalse );
  2970         if ( appUi )
       
  2971             {
       
  2972             appUi->SetViewFinderStoppedStatus( EFalse );
       
  2973             }
  2963         break;
  2974         break;
  2964         }
  2975         }
  2965       // -----------------------------------------------------
  2976       // -----------------------------------------------------
  2966       case ECamTriActive:
  2977       case ECamTriActive:
  2967         {
  2978         {
  4226   if ( !err && iIdle && !iIdle->IsActive() && // Recovering already
  4237   if ( !err && iIdle && !iIdle->IsActive() && // Recovering already
  4227        iAppController.IsAppUiAvailable()  && // Exit mode
  4238        iAppController.IsAppUiAvailable()  && // Exit mode
  4228        iIveRecoveryCount &&                   // Give up eventually
  4239        iIveRecoveryCount &&                   // Give up eventually
  4229        !appUi->AppInBackground( EFalse ) &&   // Only if on the foreground
  4240        !appUi->AppInBackground( EFalse ) &&   // Only if on the foreground
  4230        ( !iReleasedByUi ||             // Try recover if unknown reason
  4241        ( !iReleasedByUi ||             // Try recover if unknown reason
  4231          appUi->StandbyStatus() ) &&    // or known error
  4242          ( appUi->StandbyStatus() && appUi->IsRecoverableStatus() ) ) &&    // or known error 
  4232          !iAppController.InVideocallOrRinging() && // Video telephony parallel use case
  4243          !iAppController.InVideocallOrRinging() && // Video telephony parallel use case
  4233          !iIveRecoveryOngoing        //  processing recovery sequence
  4244          !iIveRecoveryOngoing        //  processing recovery sequence
  4234          )
  4245          )
  4235     {
  4246     {
  4236     PRINT( _L("Camera <> CCamCameraController::HandleReserveLostEvent - Start recovery") );
  4247     PRINT( _L("Camera <> CCamCameraController::HandleReserveLostEvent - Start recovery") );
  6642             //application went to background. In that case just return because
  6653             //application went to background. In that case just return because
  6643             //camera resource should be released when going to background.
  6654             //camera resource should be released when going to background.
  6644             return;
  6655             return;
  6645             }
  6656             }
  6646 		__ASSERT_DEBUG(view, CamPanic(ECamPanicNullPointer));
  6657 		__ASSERT_DEBUG(view, CamPanic(ECamPanicNullPointer));
  6647         if ( appUi->StandbyStatus() && view->IsInStandbyMode() )
  6658         if ( appUi->StandbyStatus() && appUi->IsRecoverableStatus() && view->IsInStandbyMode() ) 
  6648             {
  6659             {
  6649             PRINT( _L("Camera <> CCamCameraController::DoIveRecovery - Standby mode active, try to exit") )
  6660             PRINT( _L("Camera <> CCamCameraController::DoIveRecovery - Standby mode active, try to exit") )
  6650             TRAP_IGNORE( appUi->HandleControllerEventL(  ECamEventCameraChanged,
  6661             TRAP_IGNORE( appUi->HandleControllerEventL(  ECamEventCameraChanged,
  6651                                                          KErrNone ) );
  6662                                                          KErrNone ) );
  6652             }
  6663             }
  6697         KPrimaryCameraIndex == iInfo.iCurrentCamera )
  6708         KPrimaryCameraIndex == iInfo.iCurrentCamera )
  6698       {
  6709       {
  6699       TBool ftOn( EFalse );
  6710       TBool ftOn( EFalse );
  6700       iSettingProvider.ProvideCameraSettingL( ECameraSettingFacetracking, &ftOn );
  6711       iSettingProvider.ProvideCameraSettingL( ECameraSettingFacetracking, &ftOn );
  6701       PRINT1( _L("Camera <> Set facetracking: %d"), ftOn )
  6712       PRINT1( _L("Camera <> Set facetracking: %d"), ftOn )
  6702       iCustomInterfaceFaceTracking->SetFaceTrackingL( ftOn );
  6713       if( ( ftOn && !iCustomInterfaceFaceTracking->FaceTrackingOn() ) ||
  6703       iCustomInterfaceFaceTracking->EnableFaceIndicatorsL( ETrue );
  6714           ( !ftOn && iCustomInterfaceFaceTracking->FaceTrackingOn() ) )
  6704       DirectRequestL( ECamRequestSetAfRange );
  6715           {
       
  6716           iCustomInterfaceFaceTracking->SetFaceTrackingL( ftOn );
       
  6717           iCustomInterfaceFaceTracking->EnableFaceIndicatorsL( ETrue );
       
  6718           DirectRequestL( ECamRequestSetAfRange );
       
  6719           }
  6705       }
  6720       }
  6706     }
  6721     }
  6707 
  6722 
  6708 // End of file
  6723 // End of file