equal
deleted
inserted
replaced
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; |