videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp
branchRCL_3
changeset 14 55fa1ec415c6
parent 12 7f2b2a65da29
child 15 8f0df5c82986
equal deleted inserted replaced
12:7f2b2a65da29 14:55fa1ec415c6
    14 * Description:   Implementation of Video base playback view
    14 * Description:   Implementation of Video base playback view
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 // Version : %version: 75 %
    19 // Version : %version: 77 %
    20 
    20 
    21 
    21 
    22 //  Include Files
    22 //  Include Files
    23 
    23 
    24 #include <aknViewAppUi.h>
    24 #include <aknViewAppUi.h>
   128 //
   128 //
   129 CMPXVideoBasePlaybackView::~CMPXVideoBasePlaybackView()
   129 CMPXVideoBasePlaybackView::~CMPXVideoBasePlaybackView()
   130 {
   130 {
   131     MPX_DEBUG(_L("CMPXVideoBasePlaybackView::~CMPXVideoBasePlaybackView()"));
   131     MPX_DEBUG(_L("CMPXVideoBasePlaybackView::~CMPXVideoBasePlaybackView()"));
   132 
   132 
       
   133     if ( iClipName )
       
   134     {
       
   135         delete iClipName;
       
   136         iClipName = NULL;
       
   137     }
       
   138 
   133     if ( iCloseAO )
   139     if ( iCloseAO )
   134     {
   140     {
   135         delete iCloseAO;
   141         delete iCloseAO;
   136         iCloseAO = NULL;
   142         iCloseAO = NULL;
   137     }
   143     }
   530         iContainer = NULL;
   536         iContainer = NULL;
   531     }
   537     }
   532 
   538 
   533     iMediaRequested = EFalse;
   539     iMediaRequested = EFalse;
   534     iPlaybackState = EPbStateNotInitialised;
   540     iPlaybackState = EPbStateNotInitialised;
       
   541 
       
   542     if ( iClipName )
       
   543     {
       
   544         delete iClipName;
       
   545         iClipName = NULL;
       
   546     }
   535 }
   547 }
   536 
   548 
   537 // -------------------------------------------------------------------------------------------------
   549 // -------------------------------------------------------------------------------------------------
   538 //   CMPXVideoBasePlaybackView::HandleForegroundEventL()
   550 //   CMPXVideoBasePlaybackView::HandleForegroundEventL()
   539 // -------------------------------------------------------------------------------------------------
   551 // -------------------------------------------------------------------------------------------------
   865         case EPbCmdTvOutEvent:
   877         case EPbCmdTvOutEvent:
   866         {
   878         {
   867             TMPXVideoPlaybackControlCommandIds cmdId = EMPXControlCmdTvOutDisconnected;
   879             TMPXVideoPlaybackControlCommandIds cmdId = EMPXControlCmdTvOutDisconnected;
   868 
   880 
   869             TBool tvOutConnected( *aMessage->Value<TInt>( KMPXMediaVideoTvOutConnected ) );
   881             TBool tvOutConnected( *aMessage->Value<TInt>( KMPXMediaVideoTvOutConnected ) );
   870             TBool playbackAllowed = ETrue;
       
   871 
   882 
   872             if ( tvOutConnected )
   883             if ( tvOutConnected )
   873             {
   884             {
   874                 cmdId = EMPXControlCmdTvOutConnected;
   885                 cmdId = EMPXControlCmdTvOutConnected;
   875 
       
   876                 playbackAllowed = *aMessage->Value<TInt>( KMPXMediaVideoTvOutPlayAllowed );
       
   877             }
   886             }
   878 
   887 
   879             if ( iContainer )
   888             if ( iContainer )
   880             {
   889             {
   881                 MPX_TRAPD( err, iContainer->HandleEventL( cmdId, playbackAllowed ) );
   890                 MPX_TRAPD( err, iContainer->HandleEventL( cmdId ) );
   882             }
   891             }
   883             break;
   892             break;
   884         }
   893         }
   885         case EPbCmdLoadingStarted:
   894         case EPbCmdLoadingStarted:
   886         {
   895         {
   954             break;
   963             break;
   955         }
   964         }
   956         case KMPXVideoCallOngoingError:
   965         case KMPXVideoCallOngoingError:
   957         {
   966         {
   958             DisplayInfoMessageL( R_MPX_VIDEO_CALL_ONGOING );
   967             DisplayInfoMessageL( R_MPX_VIDEO_CALL_ONGOING );
   959             break;
       
   960         }
       
   961         case KMPXVideoTvOutPlaybackNotAllowed:
       
   962         {
       
   963             DisplayInfoMessageL( R_MPX_VIDEO_DRM_NO_TV_OUT );
       
   964             break;
       
   965         }
       
   966         case KMPXVideoTvOutPlaybackNotAllowedClose:
       
   967         {
       
   968             DisplayErrorMessageL( R_MPX_VIDEO_DRM_NO_TV_OUT );
       
   969             HandleClosePlaybackViewL();
       
   970             break;
   968             break;
   971         }
   969         }
   972         default:
   970         default:
   973         {
   971         {
   974             //
   972             //
  1214     {
  1212     {
  1215         iFileDetails->iTvOutConnected = aMedia.ValueTObjectL<TInt>( KMPXMediaVideoTvOutConnected );
  1213         iFileDetails->iTvOutConnected = aMedia.ValueTObjectL<TInt>( KMPXMediaVideoTvOutConnected );
  1216     }
  1214     }
  1217 
  1215 
  1218     //
  1216     //
  1219     //  TV-Out Playback Allowed
       
  1220     //
       
  1221     if ( aMedia.IsSupported( KMPXMediaVideoTvOutPlayAllowed ) )
       
  1222     {
       
  1223         iFileDetails->iTvOutPlayAllowed =
       
  1224             aMedia.ValueTObjectL<TInt>( KMPXMediaVideoTvOutPlayAllowed );
       
  1225     }
       
  1226 
       
  1227     //
       
  1228     //  Video BitRate
  1217     //  Video BitRate
  1229     //
  1218     //
  1230     if ( aMedia.IsSupported( KMPXMediaVideoBitRate ) )
  1219     if ( aMedia.IsSupported( KMPXMediaVideoBitRate ) )
  1231     {
  1220     {
  1232         iFileDetails->iBitRate = aMedia.ValueTObjectL<TInt>( KMPXMediaVideoBitRate );
  1221         iFileDetails->iBitRate = aMedia.ValueTObjectL<TInt>( KMPXMediaVideoBitRate );
  1366         // request for media from playbackplugin
  1355         // request for media from playbackplugin
  1367         RequestPlaybackMediaL();
  1356         RequestPlaybackMediaL();
  1368     }
  1357     }
  1369     else
  1358     else
  1370     {
  1359     {
       
  1360         //
       
  1361         //  Retreive the clip name for all use cases
       
  1362         //
       
  1363         if ( aMedia.IsSupported( KMPXMediaGeneralUri ) )
       
  1364         {
       
  1365             if ( iClipName )
       
  1366             {
       
  1367                 delete iClipName;
       
  1368                 iClipName = NULL;
       
  1369             }
       
  1370             
       
  1371             TPtrC uri( aMedia.ValueText( KMPXMediaGeneralUri ) );
       
  1372             iClipName = uri.AllocL();
       
  1373         }
       
  1374 
  1371         if ( aMedia.IsSupported( KMPXMediaVideoError ) )
  1375         if ( aMedia.IsSupported( KMPXMediaVideoError ) )
  1372         {
  1376         {
  1373             TInt error = aMedia.ValueTObjectL<TInt>( KMPXMediaVideoError );
  1377             TInt error = aMedia.ValueTObjectL<TInt>( KMPXMediaVideoError );
  1374 
  1378 
  1375             // Reset the controls
       
  1376             iContainer->HandleCommandL( EMPXPbvCmdResetControls );
       
  1377 
       
  1378             // Set the iMediaRequested flag to false
       
  1379             iMediaRequested = EFalse;
  1379             iMediaRequested = EFalse;
  1380 
       
  1381             // Handle the plugin error
       
  1382             HandlePluginErrorL( error );
  1380             HandlePluginErrorL( error );
  1383         }
  1381         }
  1384         else
  1382         else
  1385         {
  1383         {
  1386             DoHandleMediaL( aMedia, aError );
  1384             DoHandleMediaL( aMedia, aError );
  1972     MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::OpenDrmFileHandleL()"));
  1970     MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::OpenDrmFileHandleL()"));
  1973 
  1971 
  1974     TInt openError = KErrNotFound;
  1972     TInt openError = KErrNotFound;
  1975     RFs& fs = iCoeEnv->FsSession();
  1973     RFs& fs = iCoeEnv->FsSession();
  1976 
  1974 
  1977     if ( iPlaylistView && iFileDetails->iClipName )
  1975     if ( iPlaylistView && iClipName )
  1978     {
  1976     {
  1979         openError = aFile.Open( fs,
  1977         openError = aFile.Open( fs,
  1980                                 iFileDetails->iClipName->Des(),
  1978                                 iClipName->Des(),
  1981                                 EFileRead | EFileShareReadersOrWriters );
  1979                                 EFileRead | EFileShareReadersOrWriters );
  1982     }
  1980     }
  1983     else
  1981     else
  1984     {
  1982     {
  1985         MMPXSource* s = iPlaybackUtility->Source();
  1983         MMPXSource* s = iPlaybackUtility->Source();
  2000                 //
  1998                 //
  2001                 //  File Handle not valid, get URI and open file
  1999                 //  File Handle not valid, get URI and open file
  2002                 //
  2000                 //
  2003                 HBufC* tempFileName = s->UriL();
  2001                 HBufC* tempFileName = s->UriL();
  2004 
  2002 
  2005                 openError = aFile.Open( fs,
  2003                 if ( tempFileName )
  2006                                         tempFileName->Des(),
  2004                 {
  2007                                         EFileRead | EFileShareReadersOrWriters );
  2005                     openError = aFile.Open( fs,
  2008 
  2006                                             tempFileName->Des(),
  2009                 delete tempFileName;
  2007                                             EFileRead | EFileShareReadersOrWriters );
       
  2008 
       
  2009                     delete tempFileName;
       
  2010                 }
  2010             }
  2011             }
  2011         }
  2012         }
  2012     }
  2013     }
  2013 
  2014 
  2014     return openError;
  2015     return openError;
  2108     MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::OpenDrmFileHandle64L()"));
  2109     MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::OpenDrmFileHandle64L()"));
  2109 
  2110 
  2110     TInt openError = KErrNotFound;
  2111     TInt openError = KErrNotFound;
  2111     RFs& fs = iCoeEnv->FsSession();
  2112     RFs& fs = iCoeEnv->FsSession();
  2112 
  2113 
  2113     if ( iPlaylistView && iFileDetails->iClipName )
  2114     if ( iPlaylistView && iClipName )
  2114     {
  2115     {
  2115         openError = aFile.Open( fs,
  2116         openError = aFile.Open( fs,
  2116                                 iFileDetails->iClipName->Des(),
  2117                                 iClipName->Des(),
  2117                                 EFileRead | EFileShareReadersOrWriters );
  2118                                 EFileRead | EFileShareReadersOrWriters );
  2118     }
  2119     }
  2119     else
  2120     else
  2120     {
  2121     {
  2121         MMPXSource* s = iPlaybackUtility->Source();
  2122         MMPXSource* s = iPlaybackUtility->Source();
  2137                 //
  2138                 //
  2138                 //  File Handle not valid, get URI and open file
  2139                 //  File Handle not valid, get URI and open file
  2139                 //
  2140                 //
  2140                 HBufC* tempFileName = s->UriL();
  2141                 HBufC* tempFileName = s->UriL();
  2141 
  2142 
  2142                 openError = aFile.Open( fs,
  2143                 if ( tempFileName )
  2143                                         tempFileName->Des(),
  2144                 {
  2144                                         EFileRead | EFileShareReadersOrWriters );
  2145                     openError = aFile.Open( fs,
  2145 
  2146                                             tempFileName->Des(),
  2146                 delete tempFileName;
  2147                                             EFileRead | EFileShareReadersOrWriters );
       
  2148 
       
  2149                     delete tempFileName;
       
  2150                 }
  2147             }
  2151             }
  2148         }
  2152         }
  2149     }
  2153     }
  2150 
  2154 
  2151     return openError;
  2155     return openError;