diff -r 8970fbd719ec -r 7f2b2a65da29 videoplayback/videohelix/src/mpxvideoplayerutility.cpp --- a/videoplayback/videohelix/src/mpxvideoplayerutility.cpp Wed Apr 14 15:59:50 2010 +0300 +++ b/videoplayback/videohelix/src/mpxvideoplayerutility.cpp Tue Apr 27 16:40:33 2010 +0300 @@ -15,7 +15,8 @@ * */ -// Version : %version: e003sa33#19 % + +// Version : %version: 20 % #include @@ -79,11 +80,7 @@ iControllerEventMonitor = NULL; } - if ( ! iSurfaceId.IsNull() ) - { - MPX_TRAPD( err, SendSurfaceCommandL( EPbMsgVideoRemoveDisplayWindow ) ); - iSurfaceId = TSurfaceId::CreateNullId(); - } + iSurfaceId = TSurfaceId::CreateNullId(); iController.Close(); iDirectScreenAccessAbort = EFalse; @@ -280,21 +277,6 @@ } } - -// ------------------------------------------------------------------------------------------------- -// CMpxVideoPlayerUtility::SurfaceRemovedFromView() -// ------------------------------------------------------------------------------------------------- -// -void CMpxVideoPlayerUtility::SurfaceRemovedFromView() -{ - MPX_ENTER_EXIT(_L("CMpxVideoPlayerUtility::SurfaceRemovedFromView()")); - - if ( ! iSurfaceId.IsNull() ) - { - iSurfaceId = TSurfaceId::CreateNullId(); - } -} - TBool CMpxVideoPlayerUtility::AudioEnabledL() const { TBool enabled; @@ -498,40 +480,35 @@ { MPX_ENTER_EXIT(_L("CMpxVideoPlayerUtility::VideoSurfaceCreated()")); - TSurfaceId oldSurfaceId( iSurfaceId ); - TBool replaceSurface = ! ( iSurfaceId.IsNull() ); - - TSurfaceId surfaceId; - TRect cropRect; - TVideoAspectRatio aspectRatio; + TInt error = KErrNone; - TInt error = - iVideoPlaySurfaceSupportCustomCommands.GetSurfaceParameters( surfaceId, - cropRect, - aspectRatio ); - - if ( error == KErrNone ) + if ( iSurfaceId.IsNull() ) { - // - // Send data to the display handler to remove old surface and add new surface - // - MPX_TRAPD( err, SendSurfaceCommandL( EPbMsgVideoSurfaceCreated, - surfaceId, - cropRect, - aspectRatio ) ); + TSurfaceId surfaceId; + TRect cropRect; + TVideoAspectRatio aspectRatio; - iSurfaceId = surfaceId; + error = iVideoPlaySurfaceSupportCustomCommands.GetSurfaceParameters( surfaceId, + cropRect, + aspectRatio ); - // - // if surface already existed tell video adaptation it is no longer in use. - // Video adaptation will remove the surface when it receives this call therefore - // the following code must be done at the end of this function. - // - if ( replaceSurface ) + if ( error == KErrNone ) { - error = iVideoPlaySurfaceSupportCustomCommands.SurfaceRemoved( oldSurfaceId ); + // + // Send data to the display handler to remove old surface and add new surface + // + MPX_TRAPD( err, SendSurfaceCommandL( EPbMsgVideoSurfaceCreated, + surfaceId, + cropRect, + aspectRatio ) ); + + iSurfaceId = surfaceId; } } + else + { + error = KErrAlreadyExists; + } return error; } @@ -619,10 +596,10 @@ CMPXMessage* msg = CMPXMessage::NewL(); CleanupStack::PushL( msg ); - msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplaySyncMessage ); + msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplayMessage ); msg->SetTObjectValueL( KMPXMediaVideoDisplayCommand, aCmd ); - iVideoPlaybackController->iMPXPluginObs->HandlePlaybackSyncMessage( *msg ); + iVideoPlaybackController->iMPXPluginObs->HandlePlaybackMessage( *msg ); CleanupStack::PopAndDestroy( msg ); } @@ -645,13 +622,13 @@ CMPXMessage* msg = CMPXMessage::NewL(); CleanupStack::PushL( msg ); - msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplaySyncMessage ); + msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplayMessage ); msg->SetTObjectValueL( KMPXMediaVideoDisplayCommand, aCmd ); msg->SetTObjectValueL( KMPXMediaVideoDisplayTSurfaceId, aSurfaceId ); msg->SetTObjectValueL( KMPXMediaVideoDisplayCropRect, aCropRect ); msg->SetTObjectValueL( KMPXMediaVideoDisplayAspectRatio, aAspectRatio ); - iVideoPlaybackController->iMPXPluginObs->HandlePlaybackSyncMessage( *msg ); + iVideoPlaybackController->iMPXPluginObs->HandlePlaybackMessage( *msg ); CleanupStack::PopAndDestroy( msg ); }