# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1266612772 -7200 # Node ID 7d91903f795fb95eaf275a9d7022a1deee1e7409 # Parent dec420019252dab20a5d4f1061a9656cd91382c8 Revision: 201003 Kit: 201007 diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/data/vcxhgmyvideos.rss --- a/videocollection/hgmyvideos/data/vcxhgmyvideos.rss Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/data/vcxhgmyvideos.rss Fri Feb 19 22:52:52 2010 +0200 @@ -30,8 +30,10 @@ #include #include #include +#ifdef RD_VIDEO_AS_RINGING_TONE #include #include +#endif #include @@ -156,7 +158,8 @@ cascade = r_vcxhgmyvideos_mark_submenu; txt = qtn_options_list; }, - // AIW assign (Use video as) +#ifdef RD_VIDEO_AS_RINGING_TONE + // AIW assign (Use video as) MENU_ITEM { command = EVcxHgMyVideosCmdAiwAssign; @@ -164,6 +167,7 @@ txt = qtn_vcx_hg_options_use_video_as; flags = EEikMenuItemSpecificListQuery; }, +#endif MENU_ITEM { command = EVcxHgMyVideosCmdHelp; @@ -480,6 +484,7 @@ softkey_2 = text_softkey_cancel; } +#ifdef RD_VIDEO_AS_RINGING_TONE //------------------------------------------------------------------------------ // // r_vcxhgmyvideos_aiw_assign_interest @@ -518,6 +523,7 @@ } }; } +#endif // ----------------------------------------------------------------------------- // diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/group/vcxhgmyvideos.mmp --- a/videocollection/hgmyvideos/group/vcxhgmyvideos.mmp Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/group/vcxhgmyvideos.mmp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ */ -// Version : %version: TB92_24 % +// Version : %version: TB92_24.1.1 % #include #include @@ -54,7 +54,9 @@ SOURCE vcxhgmyvideosvideocopier.cpp SOURCE vcxhgmyvideosupnpinterface.cpp SOURCE vcxhgtelephonyclient.cpp +#ifdef RD_VIDEO_AS_RINGING_TONE SOURCE vcxhgmyvideosaiwmenuhandler.cpp +#endif USERINCLUDE ../inc USERINCLUDE ../../../inc @@ -112,7 +114,6 @@ LIBRARY commondialogs.lib // Memory selection dialog LIBRARY drmhelper.lib // DRM LIBRARY featmgr.lib // Feature manager -LIBRARY servicehandler.lib // AIW Service Handler LIBRARY centralrepository.lib // Upnp LIBRARY thumbnailmanager.lib // CThumbnailManager LIBRARY caf.lib // CAF @@ -127,3 +128,6 @@ LIBRARY upnpcommand.lib LIBRARY ganes.lib // for HgList LIBRARY ecom.lib +#ifdef RD_VIDEO_AS_RINGING_TONE +LIBRARY servicehandler.lib // AIW Service Handler +#endif \ No newline at end of file diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/inc/vcxhgmyvideos.hrh --- a/videocollection/hgmyvideos/inc/vcxhgmyvideos.hrh Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/inc/vcxhgmyvideos.hrh Fri Feb 19 22:52:52 2010 +0200 @@ -42,15 +42,19 @@ EVcxHgMyVideosCmdUnmark, // Mark/Unmark submenu: Unmark video EVcxHgMyVideosCmdMarkAll, // Mark/Unmark submenu: Mark all videos EVcxHgMyVideosCmdUnmarkAll, // Mark/Unmark submenu: Unmark all videos +#ifdef RD_VIDEO_AS_RINGING_TONE EVcxHgMyVideosCmdAiwAssign, // Submenu: Placeholder for "Use video as" +#endif EVcxHgMyVideosCmdHelp, // Help EVcxHgMyVideosCmdExit, // Exit Video Storage EVcxHgMyVideosCmdToggleMultipleMarking, // Toggle marking mode state EVcxHgMyVideosCmdSend, // Send video EVcxHgMyVideosCmdNothing, // Non-functional command EVcxHgMyVideosCmdStartMarking, // Sets marking mode on - EVcxHgMyVideosCmdStopMarking, // Sets marking mode off - EVcxHgMyVideosCmdAiwBase = 800 // Base number for AIW commands + EVcxHgMyVideosCmdStopMarking // Sets marking mode off +#ifdef RD_VIDEO_AS_RINGING_TONE + ,EVcxHgMyVideosCmdAiwBase = 800 // Base number for AIW commands +#endif }; enum TVcxHgMyVideosMarkButtonStates diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/inc/vcxhgmyvideoscollectionclient.h --- a/videocollection/hgmyvideos/inc/vcxhgmyvideoscollectionclient.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/inc/vcxhgmyvideoscollectionclient.h Fri Feb 19 22:52:52 2010 +0200 @@ -409,11 +409,6 @@ */ void DebugPrintVideoListL( CMPXMediaArray* aVideoArray ); #endif // _DEBUG && IPTV_LOGGING_METHOD - - /** - * Variable for storing current MPX collection level. - */ - TInt iCollectionLevel; }; #endif // VCXHGMYVIDEOSCOLLECTIONCLIENT_H diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/inc/vcxhgmyvideosvideolistimpl.h --- a/videocollection/hgmyvideos/inc/vcxhgmyvideosvideolistimpl.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosvideolistimpl.h Fri Feb 19 22:52:52 2010 +0200 @@ -37,8 +37,10 @@ class CVcxHgTelephonyClient; class CHgScroller; class CSendUi; +class CDRMHelper; +#ifdef RD_VIDEO_AS_RINGING_TONE class CHgMyVideosAiwMenuHandler; -class CDRMHelper; +#endif namespace DRM { @@ -266,13 +268,15 @@ * Send video using SendUI */ void HandleSendL(); - + +#ifdef RD_VIDEO_AS_RINGING_TONE /** * Handles command if aCommand is an Aiw command * * @param aCommand Menu command ID */ void TryHandleAiwCommandL( TInt aCommand ); +#endif /** * Checks if we are at marking mode and returns @@ -392,6 +396,7 @@ */ CSendUi* SendUiL(); +#ifdef RD_VIDEO_AS_RINGING_TONE /** * Returns pointer to instance of CHgMyVideosAiwMenuHandler. * First call creates handler and attaches AIW menu. @@ -399,6 +404,7 @@ * @return Pointer to CHgMyVideosAiwMenuHandler */ CHgMyVideosAiwMenuHandler* AiwMenuHandlerL(); +#endif protected: @@ -454,11 +460,13 @@ */ CSendUi* iSendUi; +#ifdef RD_VIDEO_AS_RINGING_TONE /** * Aiw Menu Handler * Own */ CHgMyVideosAiwMenuHandler* iAiwMenuHandler; +#endif }; diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp --- a/videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -60,8 +60,7 @@ // CVcxHgMyVideosCollectionClient::CVcxHgMyVideosCollectionClient() : iCollectionOpenStatus( EVcxHgCollectionNotOpen ), - iPendingCommand( EVcxHgMyVideosCollectionCommandNone ), - iCollectionLevel( KErrNotFound ) + iPendingCommand( EVcxHgMyVideosCollectionCommandNone ) { } @@ -158,15 +157,12 @@ // TInt CVcxHgMyVideosCollectionClient::CollectionLevelL() { - if ( iCollectionLevel == KErrNotFound ) - { - CMPXCollectionPath* path = iCollectionUtility->Collection().PathL(); - CleanupStack::PushL( path ); - iCollectionLevel = path->Levels(); - CleanupStack::PopAndDestroy( path ); - } - - return iCollectionLevel; + CMPXCollectionPath* path = iCollectionUtility->Collection().PathL(); + CleanupStack::PushL( path ); + TInt collectionLevel = path->Levels(); + CleanupStack::PopAndDestroy( path ); + + return collectionLevel; } // ----------------------------------------------------------------------------- @@ -637,8 +633,6 @@ { case TMPXCollectionMessage::EPathChanged: { - iCollectionLevel = KErrNotFound; - if ( data == EMcContainerOpened ) { if ( iCollectionOpenStatus == EVcxHgCollectionOpening ) diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/src/vcxhgmyvideosmainview.cpp --- a/videocollection/hgmyvideos/src/vcxhgmyvideosmainview.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/src/vcxhgmyvideosmainview.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ */ -// Version : %version: TB92_33 % +// Version : %version: TB92_33.1.1 % // INCLUDE FILES #include @@ -501,9 +501,11 @@ case EVcxHgMyVideosCmdNothing: default: { +#ifdef RD_VIDEO_AS_RINGING_TONE // The command could be an AIW command, offer it // to AIW command handler VideoListL()->TryHandleAiwCommandL( aCommand ); +#endif } break; } @@ -603,7 +605,9 @@ aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdVideoDetails, ETrue ); aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdStopShowViaHomenet, ETrue ); aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdShowViaHomenet, ETrue ); +#ifdef RD_VIDEO_AS_RINGING_TONE aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdAiwAssign, ETrue ); +#endif aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdOpen, ETrue ); aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdPlay, ETrue ); aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdMemoryStatus, ETrue ); @@ -665,7 +669,8 @@ break; } } - } + } +#ifdef RD_VIDEO_AS_RINGING_TONE else if ( aResourceId == R_VCXHGMYVIDEOS_USE_AS_SUBMENU ) { if ( iModel->AppState() == CVcxHgMyVideosModel::EVcxMyVideosAppStateCategoryIdle ) @@ -676,6 +681,7 @@ // Let video list handle AIW menu VideoListL()->DynInitMenuPaneL( aResourceId, aMenuPane ); } +#endif else if ( aResourceId == R_VCXHGMYVIDEOS_MARK_SUBMENU ) { if ( iModel->AppState() == CVcxHgMyVideosModel::EVcxMyVideosAppStateCategoryIdle ) diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp --- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -57,7 +57,9 @@ #include "vcxhgmyvideospanics.h" #include "vcxhgmyvideosupnpinterface.h" #include "vcxhgtelephonyclient.h" +#ifdef RD_VIDEO_AS_RINGING_TONE #include "vcxhgmyvideosaiwmenuhandler.h" +#endif _LIT( KVcxHgMyVideosMifFile, "\\resource\\apps\\vcxhgmyvideosicons.mif" ); @@ -104,8 +106,10 @@ CHgScroller& aScroller ) : CVcxHgMyVideosListBase( aModel, aView, aScroller ), iCurrentlyPlayedVideo( KErrNotFound ), - iMultipleMarkingActive( EFalse ), - iAiwMenuHandler( NULL ) + iMultipleMarkingActive( EFalse ) +#ifdef RD_VIDEO_AS_RINGING_TONE + , iAiwMenuHandler( NULL ) +#endif { } @@ -184,7 +188,9 @@ delete iVideoCopier; delete iVideoModel; delete iSendUi; +#ifdef RD_VIDEO_AS_RINGING_TONE delete iAiwMenuHandler; +#endif } // ----------------------------------------------------------------------------- @@ -709,11 +715,13 @@ void CVcxHgMyVideosVideoListImpl::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ) { +#ifdef RD_VIDEO_AS_RINGING_TONE if ( AiwMenuHandlerL()->TryHandleSubmenuL( aMenuPane ) ) { // Submenu was initialized by Aiw return; } +#endif RArray markedVideos; CleanupClosePushL( markedVideos ); @@ -817,7 +825,11 @@ { // Place Send menu item on top of "Use as" (Assign) submenu TInt sendItemIndex = 0; +#ifdef RD_VIDEO_AS_RINGING_TONE aMenuPane->ItemAndPos( EVcxHgMyVideosCmdAiwAssign, sendItemIndex ); +#else + aMenuPane->ItemAndPos( EVcxHgMyVideosCmdSortSubMenu, sendItemIndex ); +#endif // Add Send item to menu TSendingCapabilities capabilities( 0, @@ -837,6 +849,7 @@ CleanupStack::PopAndDestroy( &operationTargets ); } +#ifdef RD_VIDEO_AS_RINGING_TONE // Assign (use as) menu item if ( ( markedVideos.Count() == 0 ) && ( highlight >= 0 ) && ( count > 0 ) && @@ -849,6 +862,7 @@ // Hide Assign (use as) menu item aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdAiwAssign, ETrue ); } +#endif // Marking submenu if( count > 0 ) @@ -864,6 +878,7 @@ aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdSortSubMenu, ETrue ); } } +#ifdef RD_VIDEO_AS_RINGING_TONE else if ( aResourceId == R_VCXHGMYVIDEOS_USE_AS_SUBMENU ) { RArray operationTargets; @@ -886,6 +901,7 @@ } CleanupStack::PopAndDestroy( &operationTargets ); } +#endif CleanupStack::PopAndDestroy( &markedVideos ); } @@ -1121,6 +1137,7 @@ return iSendUi; } +#ifdef RD_VIDEO_AS_RINGING_TONE // --------------------------------------------------------------------------- // CVcxHgMyVideosVideoListImpl::TryHandleAiwCommandL() // --------------------------------------------------------------------------- @@ -1149,6 +1166,7 @@ CleanupStack::PopAndDestroy( &operationTargets ); } } +#endif // --------------------------------------------------------------------------- // CVcxHgMyVideosVideoListImpl::IsMarking() @@ -1165,6 +1183,7 @@ return ret; } +#ifdef RD_VIDEO_AS_RINGING_TONE // --------------------------------------------------------------------------- // CVcxHgMyVideosVideoListImpl::AiwMenuHandlerL() // --------------------------------------------------------------------------- @@ -1178,3 +1197,4 @@ } return iAiwMenuHandler; } +#endif diff -r dec420019252 -r 7d91903f795f videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp --- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -254,9 +254,8 @@ TInt highlight = iScroller.SelectedIndex(); - // It is enough to reset scroll buffer only, not whole scroller - iScroller.DisableScrollBuffer(); - iScroller.EnableScrollBufferL( *this, KHgBufferSize, KHgBufferTreshold ); + iScroller.Reset(); + iScroller.ResizeL( iVideoArray->VideoCount() ); iScroller.SetSelectedIndex( highlight ); @@ -1363,12 +1362,20 @@ "MPX My Videos UI # NewVideoListL(count=%d) - Enter", aVideoList.Count() ); ReplaceVideoArrayL( aVideoList ); - - if ( iVideoArray->VideoCount() > 0 ) + + TInt videoCount = iVideoArray->VideoCount(); + if ( videoCount > 0 ) { - iScroller.Reset(); - iScroller.ResizeL( iVideoArray->VideoCount() ); - + if ( videoCount == iScroller.ItemCount() ) + { + iScroller.DisableScrollBuffer(); + iScroller.EnableScrollBufferL( *this, KHgBufferSize, KHgBufferTreshold ); + } + else + { + iScroller.ResizeL( videoCount ); + } + TInt highlight( KErrNotFound ); if ( iRestoreHighlightPosition ) @@ -1451,7 +1458,7 @@ { // Re-fetch current list completely, MMC card has // removed or inserted. - iModel.CollectionClient().GetVideoListL( KErrNotFound ); + iModel.CollectionClient().GetVideoListL( iCurrentCategoryIndex ); } } else diff -r dec420019252 -r 7d91903f795f videoplayback/inc/mpxvideoplaybackcontrolscontroller.h --- a/videoplayback/inc/mpxvideoplaybackcontrolscontroller.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/inc/mpxvideoplaybackcontrolscontroller.h Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 7 % +// Version : %version: 8 % #ifndef MPXVIDEOPLAYBACKCONTROLSCONTROLLER_H_ @@ -133,6 +133,8 @@ void SetRealOneBitmapVisibility( TBool aVisible ); + TBool SetBackgroundBlack(); + private: /** * Create controls @@ -350,6 +352,9 @@ RFs iFs; TFileName iBitmapFileName; + TBool iSurfaceCreated; + TBool iTvOutConnected; + #ifdef RD_TACTILE_FEEDBACK MTouchFeedback* iFeedback; #endif //RD_TACTILE_FEEDBACK diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/inc/mpxvideodrmhelper.h --- a/videoplayback/videohelix/inc/mpxvideodrmhelper.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/inc/mpxvideodrmhelper.h Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 5 % #ifndef __MPXVIDEODRMHELPER_H__ #define __MPXVIDEODRMHELPER_H__ @@ -48,7 +48,7 @@ */ static CMpxVideoDrmHelper* NewL(); - TBool IsProtected( RFile& aFile ); + TBool IsProtectedL( RFile& aFile ); TInt GetDrmRightsStatus( RFile& aFile ); @@ -56,7 +56,7 @@ #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API - TBool IsProtected64( RFile64& aFile ); + TBool IsProtected64L( RFile64& aFile ); TInt GetDrmRightsStatus64( RFile64& aFile ); TBool IsTvOutAllowed64L( RFile64& aFile ); diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/inc/mpxvideofiledetails.h --- a/videoplayback/videohelix/inc/mpxvideofiledetails.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/inc/mpxvideofiledetails.h Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 7 % +// Version : %version: 8 % @@ -58,6 +58,11 @@ HBufC* iTitle; HBufC* iArtist; HBufC* iMimeType; + HBufC* iDescription; + HBufC* iLocation; + HBufC* iCopyright; + HBufC* iLanguage; + HBufC* iKeywords; TInt iResolutionWidth; diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/src/mpxvideodlmgrif.cpp --- a/videoplayback/videohelix/src/mpxvideodlmgrif.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/src/mpxvideodlmgrif.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 21 % +// Version : %version: 23 % #include @@ -160,7 +160,6 @@ iCurrentDl->SetBoolAttribute( EDlAttrSilent, EFalse ); - //a temp hack until dl manager has a fix for this TInt32 activeDownload( 0 ); iCurrentDl->GetIntAttribute( EDlAttrActiveDownload, activeDownload ); iCurrentDl->SetIntAttribute( EDlAttrActivePlayedDownload, activeDownload ); @@ -737,7 +736,7 @@ { MPX_ENTER_EXIT(_L("CMPXVideoDlMgrIf::UpdateDownloadSizeL()")); - if ( iController->iDrmHelper->IsProtected( iController->iFileHandle ) ) + if ( iController->iDrmHelper->IsProtectedL( iController->iFileHandle ) ) { MPX_DEBUG(_L("CMPXVideoDlMgrIf::UpdateDownloadSizeL() download is DRM protected")); diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/src/mpxvideodrmhelper.cpp --- a/videoplayback/videohelix/src/mpxvideodrmhelper.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/src/mpxvideodrmhelper.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 7 % +// Version : %version: 8 % #include @@ -55,19 +55,19 @@ } // ------------------------------------------------------------------------------------------------ -// CMpxVideoDrmHelper::IsProtected() +// CMpxVideoDrmHelper::IsProtectedL() // ------------------------------------------------------------------------------------------------ // -TBool CMpxVideoDrmHelper::IsProtected( RFile& aFile ) +TBool CMpxVideoDrmHelper::IsProtectedL( RFile& aFile ) { TBool drmProtected = EFalse; if ( aFile.SubSessionHandle() ) { - MPX_TRAPD( err, drmProtected = iDrmUtility->IsProtectedL( aFile ) ); + drmProtected = iDrmUtility->IsProtectedL( aFile ); } - MPX_DEBUG(_L("CMpxVideoDrmHelper::IsProtected(%d)"), drmProtected); + MPX_DEBUG(_L("CMpxVideoDrmHelper::IsProtectedL(%d)"), drmProtected); return drmProtected; } @@ -81,8 +81,11 @@ MPX_ENTER_EXIT(_L("CMpxVideoDrmHelper::GetDrmRightsStatus()")); TInt drmError = KErrNone; + TBool drmProtected = EFalse; - if ( IsProtected( aFile ) ) + MPX_TRAP( drmError, drmProtected = IsProtectedL(aFile ) ); + + if ( drmProtected && (drmError == KErrNone) ) { ContentAccess::CData* data = NULL; @@ -111,7 +114,7 @@ { TBool tvOutAllowed = ETrue; - if ( IsProtected( aFile ) ) + if ( IsProtectedL( aFile ) ) { ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFile ); @@ -145,19 +148,19 @@ #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API // ------------------------------------------------------------------------------------------------ -// CMpxVideoDrmHelper::IsProtected64() +// CMpxVideoDrmHelper::IsProtected64L() // ------------------------------------------------------------------------------------------------ // -TBool CMpxVideoDrmHelper::IsProtected64( RFile64& aFile ) +TBool CMpxVideoDrmHelper::IsProtected64L( RFile64& aFile ) { TBool drmProtected = EFalse; if ( aFile.SubSessionHandle() ) { - MPX_TRAPD( err, drmProtected = iDrmUtility->IsProtectedL( aFile ) ); + drmProtected = iDrmUtility->IsProtectedL( aFile ); } - MPX_DEBUG(_L("CMpxVideoDrmHelper::IsProtected64(%d)"), drmProtected); + MPX_DEBUG(_L("CMpxVideoDrmHelper::IsProtected64L(%d)"), drmProtected); return drmProtected; } @@ -171,8 +174,11 @@ MPX_ENTER_EXIT(_L("CMpxVideoDrmHelper::GetDrmRightsStatus64()")); TInt drmError = KErrNone; + TBool drmProtected = EFalse; - if ( IsProtected64( aFile ) ) + MPX_TRAP( drmError, drmProtected = IsProtected64L( aFile ) ); + + if ( drmProtected && (drmError == KErrNone) ) { ContentAccess::CData* data = NULL; @@ -205,7 +211,7 @@ { TBool tvOutAllowed = ETrue; - if ( IsProtected64( aFile ) ) + if ( IsProtected64L( aFile ) ) { ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFile ); diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/src/mpxvideofiledetails.cpp --- a/videoplayback/videohelix/src/mpxvideofiledetails.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/src/mpxvideofiledetails.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 9 % +// Version : %version: 10 % @@ -83,6 +83,36 @@ iClipName = NULL; } + if ( iDescription ) + { + delete iDescription; + iDescription = NULL; + } + + if ( iLocation ) + { + delete iLocation; + iLocation = NULL; + } + + if ( iCopyright ) + { + delete iCopyright; + iCopyright = NULL; + } + + if ( iLanguage ) + { + delete iLanguage; + iLanguage = NULL; + } + + if ( iKeywords ) + { + delete iKeywords; + iKeywords = NULL; + } + iResolutionWidth = 0; iResolutionHeight = 0; iMaxVolume = 0; diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp --- a/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: ou1cpsw#41 % +// Version : %version: 43 % // @@ -75,6 +75,12 @@ _LIT( KTrue, "1" ); _LIT( KFalse, "0" ); _LIT (KMPStreamingPauseSupported, "StreamingPauseSupported"); +_LIT( KDescription, "Description" ); +_LIT( KAbstract, "Abstract" ); +_LIT( KLocation, "Location" ); +_LIT( KRightCopy, "Copyright" ); +_LIT( KLanguage, "Language" ); +_LIT( KKeywords, "Keywords" ); // ============================ MEMBER FUNCTIONS =================================================== @@ -1273,12 +1279,12 @@ // if ( iFileHandle.SubSessionHandle() ) { - iFileDetails->iDrmProtected = iDrmHelper->IsProtected( iFileHandle ); + iFileDetails->iDrmProtected = iDrmHelper->IsProtectedL( iFileHandle ); } #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API else if ( iFileHandle64.SubSessionHandle() ) { - iFileDetails->iDrmProtected = iDrmHelper->IsProtected64( iFileHandle64 ); + iFileDetails->iDrmProtected = iDrmHelper->IsProtected64L( iFileHandle64 ); } #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API @@ -1364,7 +1370,13 @@ else if ( ( ! metaData->Name().CompareF( KArtist ) ) || ( ! metaData->Name().CompareF( KAuthor ) ) ) { - iFileDetails->iArtist = metaData->Value().AllocL(); + // + // Do not overwrite the artist + // + if ( ! iFileDetails->iArtist ) + { + iFileDetails->iArtist = metaData->Value().AllocL(); + } } else if ( ! metaData->Name().CompareF( KFormat ) ) { @@ -1384,7 +1396,34 @@ iFileDetails->iPausableStream = EFalse; } } - + else if ( ( ! metaData->Name().CompareF( KDescription ) ) || + ( ! metaData->Name().CompareF( KAbstract ) ) ) + { + // + // Do not overwrite the description + // + if ( ! iFileDetails->iDescription ) + { + iFileDetails->iDescription = metaData->Value().AllocL(); + } + } + else if ( !metaData->Name().CompareF( KLocation ) ) + { + iFileDetails->iLocation = metaData->Value().AllocL(); + } + else if ( !metaData->Name().CompareF( KRightCopy ) ) + { + iFileDetails->iCopyright = metaData->Value().AllocL(); + } + else if ( !metaData->Name().CompareF( KLanguage ) ) + { + iFileDetails->iLanguage = metaData->Value().AllocL(); + } + else if ( !metaData->Name().CompareF( KKeywords ) ) + { + iFileDetails->iKeywords = metaData->Value().AllocL(); + } + CleanupStack::PopAndDestroy( metaData ); } diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/src/mpxvideoplaybackstate.cpp --- a/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 31 % +// Version : %version: 33 % // @@ -526,6 +526,61 @@ TMPXAttribute( KMPXMediaVideoDrmProtected ), iVideoPlaybackCtlr->iFileDetails->iDrmProtected ); } + + // + // Description + // + if ( ( attrV & KMPXMediaVideoDescription.iAttributeId ) && + ( iVideoPlaybackCtlr->iFileDetails->iDescription ) ) + { + aMedia->SetTextValueL( + TMPXAttribute( KMPXMediaVideoDescription ), + *( iVideoPlaybackCtlr->iFileDetails->iDescription ) ); + } + + // + // Location + // + if ( ( attrV & KMPXMediaVideoLocation.iAttributeId ) && + ( iVideoPlaybackCtlr->iFileDetails->iLocation ) ) + { + aMedia->SetTextValueL( + TMPXAttribute( KMPXMediaVideoLocation ), + *( iVideoPlaybackCtlr->iFileDetails->iLocation ) ); + } + + // + // Copyright + // + if ( ( attrV & KMPXMediaVideoCopyright.iAttributeId ) && + ( iVideoPlaybackCtlr->iFileDetails->iCopyright ) ) + { + aMedia->SetTextValueL( + TMPXAttribute( KMPXMediaVideoCopyright ), + *( iVideoPlaybackCtlr->iFileDetails->iCopyright ) ); + } + + // + // Language + // + if ( ( attrV & KMPXMediaVideoLanguage.iAttributeId ) && + ( iVideoPlaybackCtlr->iFileDetails->iLanguage ) ) + { + aMedia->SetTextValueL( + TMPXAttribute( KMPXMediaVideoLanguage ), + *( iVideoPlaybackCtlr->iFileDetails->iLanguage ) ); + } + + // + // Keywords + // + if ( ( attrV & KMPXMediaVideoKeywords.iAttributeId ) && + ( iVideoPlaybackCtlr->iFileDetails->iKeywords ) ) + { + aMedia->SetTextValueL( + TMPXAttribute( KMPXMediaVideoKeywords ), + *( iVideoPlaybackCtlr->iFileDetails->iKeywords ) ); + } } // ------------------------------------------------------------------------------------------------ @@ -669,7 +724,7 @@ // CMPXVideoPlaybackState::IssuePlayCommand() // ------------------------------------------------------------------------------------------------ void CMPXVideoPlaybackState::IssuePlayCommand( TMPXVideoPlaybackState aState, - MMPXPlaybackPluginObserver::TEvent aEvent, + MMPXPlaybackPluginObserver::TEvent aEvent, TBool aSendEvent ) { MPX_ENTER_EXIT(_L("CMPXVideoPlaybackState::CMPXVideoPlaybackState::IssuePlayCommand()"), @@ -680,7 +735,7 @@ if ( err == KErrNone ) { iVideoPlaybackCtlr->ChangeState( aState ); - + if ( aSendEvent ) { iVideoPlaybackCtlr->iMPXPluginObs->HandlePluginEvent( aEvent, 0, KErrNone ); @@ -1130,7 +1185,7 @@ // if ( pos != 0 ) { - iVideoPlaybackCtlr->iPlayer->SetPositionL( pos ); + iVideoPlaybackCtlr->iPlayer->SetPositionL( pos ); } } else @@ -1506,6 +1561,10 @@ { iVideoPlaybackCtlr->iState->HandlePlay(); } + else + { + iVideoPlaybackCtlr->iPlayer->RefreshFrameL(); + } } // ------------------------------------------------------------------------------------------------ diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/src/mpxvideoplayerutility.cpp --- a/videoplayback/videohelix/src/mpxvideoplayerutility.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/src/mpxvideoplayerutility.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -12,10 +12,10 @@ * Contributors: * * Description: This class is the interface between the playback plugin and RMMFController - * +* */ -// Version : %version: 13 % +// Version : %version: 15 % #include @@ -66,8 +66,6 @@ MPX_ENTER_EXIT(_L("CMpxVideoPlayerUtility::~CMpxVideoPlayerUtility()")); Close(); - - delete iControllerEventMonitor; } void CMpxVideoPlayerUtility::Close() @@ -226,9 +224,9 @@ TUint32 CMpxVideoPlayerUtility::FourCCCode() const { - TFourCC aFourCC( 0 ); + TFourCC aFourCC( 0 ); iVideoControllerCustomCommands.GetAudioCodec( aFourCC ); - + return aFourCC.FourCC(); } @@ -513,13 +511,6 @@ error = iVideoPlaySurfaceSupportCustomCommands.SurfaceRemoved( oldSurfaceId ); } } - else - { - if ( replaceSurface ) - { - iVideoPlaySurfaceSupportCustomCommands.SurfaceRemoved( oldSurfaceId ); - } - } return error; } @@ -609,10 +600,10 @@ CMPXMessage* msg = CMPXMessage::NewL(); CleanupStack::PushL( msg ); - msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplayMessage ); + msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplaySyncMessage ); msg->SetTObjectValueL( KMPXMediaVideoDisplayCommand, aCmd ); - iVideoPlaybackController->iMPXPluginObs->HandlePlaybackMessage( msg, KErrNone ); + iVideoPlaybackController->iMPXPluginObs->HandlePlaybackSyncMessage( *msg ); CleanupStack::PopAndDestroy( msg ); } @@ -635,13 +626,13 @@ CMPXMessage* msg = CMPXMessage::NewL(); CleanupStack::PushL( msg ); - msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplayMessage ); + msg->SetTObjectValueL( KMPXMessageGeneralId, KMPXMediaIdVideoDisplaySyncMessage ); msg->SetTObjectValueL( KMPXMediaVideoDisplayCommand, aCmd ); msg->SetTObjectValueL( KMPXMediaVideoDisplayTSurfaceId, aSurfaceId ); msg->SetTObjectValueL( KMPXMediaVideoDisplayCropRect, aCropRect ); msg->SetTObjectValueL( KMPXMediaVideoDisplayAspectRatio, aAspectRatio ); - iVideoPlaybackController->iMPXPluginObs->HandlePlaybackMessage( msg, KErrNone ); + iVideoPlaybackController->iMPXPluginObs->HandlePlaybackSyncMessage( *msg ); CleanupStack::PopAndDestroy( msg ); } diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoplayerutility_stub.h --- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoplayerutility_stub.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoplayerutility_stub.h Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 9 % +// Version : %version: 10 % #ifndef __MPXVIDEOPLAYERUTILITY__ @@ -157,6 +157,10 @@ HBufC8* iTitle; HBufC8* iDescription; HBufC8* iArtist; + HBufC8* iLocation; + HBufC8* iCopyright; + HBufC8* iLanguage; + HBufC8* iKeywords; TSize iSize; diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideodrmhelper_stub.cpp --- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideodrmhelper_stub.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideodrmhelper_stub.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 5 % +// Version : %version: 6 % #include "mpxvideodrmhelper.h" @@ -46,10 +46,10 @@ } // ------------------------------------------------------------------------------------------------ -// CMpxVideoDrmHelper::IsProtected() +// CMpxVideoDrmHelper::IsProtectedL() // ------------------------------------------------------------------------------------------------ // -TBool CMpxVideoDrmHelper::IsProtected( RFile& aFile ) +TBool CMpxVideoDrmHelper::IsProtectedL( RFile& aFile ) { TBool drmProtected = EFalse; @@ -118,10 +118,10 @@ #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API // ------------------------------------------------------------------------------------------------ -// CMpxVideoDrmHelper::IsProtected64() +// CMpxVideoDrmHelper::IsProtected64L() // ------------------------------------------------------------------------------------------------ // -TBool CMpxVideoDrmHelper::IsProtected64( RFile64& aFile ) +TBool CMpxVideoDrmHelper::IsProtected64L( RFile64& aFile ) { TBool drmProtected = EFalse; diff -r dec420019252 -r 7d91903f795f videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoplayerutility_stub.cpp --- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoplayerutility_stub.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoplayerutility_stub.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 11 % +// Version : %version: 12 % #include #include @@ -657,11 +657,13 @@ iTitle = value.AllocL(); } - else if ( ! aItem.Compare(_L8("Description")) ) + else if ( ! aItem.Compare(_L8("Description")) || + ! aItem.Compare(_L8("Abstract")) ) { - delete iDescription; - - iDescription = value.AllocL(); + if ( ! iDescription ) + { + iDescription = value.AllocL(); + } } else if ( ! aItem.Compare(_L8("Artist")) ) { @@ -669,6 +671,30 @@ iArtist = value.AllocL(); } + else if ( ! aItem.Compare(_L8("Location")) ) + { + delete iLocation; + + iLocation = value.AllocL(); + } + else if ( ! aItem.Compare(_L8("Copyright")) ) + { + delete iCopyright; + + iCopyright = value.AllocL(); + } + else if ( ! aItem.Compare(_L8("Language")) ) + { + delete iLanguage; + + iLanguage = value.AllocL(); + } + else if ( ! aItem.Compare(_L8("Keywords")) ) + { + delete iKeywords; + + iKeywords = value.AllocL(); + } HBufC* name = HBufC::NewL( aItem.Length() ); TPtr namePtr( name->Des() ); diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/inc/mpxvideoplaybackbutton.h --- a/videoplayback/videoplaybackcontrols/inc/mpxvideoplaybackbutton.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/inc/mpxvideoplaybackbutton.h Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 6 % +// Version : %version: 7 % #ifndef MPXVIDEOPLAYBACKBUTTON_H @@ -25,6 +25,7 @@ #include #include "mpxvideo_debug.h" +#include "mpxvideoplaybackcontrolscontroller.h" // FORWARD DECLARATIONS @@ -46,7 +47,8 @@ /** * Two-phased constructor. */ - static CMPXVideoPlaybackButton* NewL( TRect aRect, const TDesC &aIconPath ); + static CMPXVideoPlaybackButton* NewL( CMPXVideoPlaybackControlsController* aController, + TRect aRect, const TDesC &aIconPath ); /** * Destructor. @@ -63,7 +65,8 @@ /** * By default Symbian 2nd phase constructor is private. */ - void ConstructL( TRect aRect, const TDesC &aIconPath ); + void ConstructL( CMPXVideoPlaybackControlsController* aController, + TRect aRect, const TDesC &aIconPath ); private: @@ -138,6 +141,8 @@ TMPXButtonState iState; HBufC* iIConPath; + + CMPXVideoPlaybackControlsController* iController; }; // INLINE METHODS diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackaspectratioicon.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackaspectratioicon.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackaspectratioicon.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 11 % +// Version : %version: 12 % // INCLUDE FILES @@ -218,17 +218,20 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - gc.Clear( aRect ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); - gc.Clear( aRect ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + gc.Clear( aRect ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + gc.Clear( aRect ); + } } else { diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbrandinganimation.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbrandinganimation.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbrandinganimation.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 7 % +// Version : %version: 9 % // INCLUDE FILES @@ -57,8 +57,8 @@ // // set rect // - SetRect( TRect( 0, 0, aRect.Width(), aRect.Height() ) ); - iBrandingRect = aRect; + iBrandingRect = TRect( 0, 0, aRect.Width(), aRect.Height() ); + SetRect( iBrandingRect ); // // construct branding timer @@ -217,17 +217,20 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - gc.Clear( aRect ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); - gc.Clear( aRect ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + gc.Clear( aRect ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + gc.Clear( aRect ); + } } else { diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbutton.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbutton.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbutton.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 8 % +// Version : %version: 9 % @@ -39,11 +39,13 @@ // Symbian 2nd phase constructor can leave. // ------------------------------------------------------------------------------------------------- // -void CMPXVideoPlaybackButton::ConstructL( TRect aRect, const TDesC &aIconPath ) +void CMPXVideoPlaybackButton::ConstructL( CMPXVideoPlaybackControlsController* aController, + TRect aRect, const TDesC &aIconPath ) { MPX_DEBUG(_L("CMPXVideoPlaybackButton::ConstructL()")); iIConPath = aIconPath.AllocL(); + iController = aController; SetRect( aRect ); } @@ -53,14 +55,15 @@ // Two-phased constructor. // ------------------------------------------------------------------------------------------------- // -CMPXVideoPlaybackButton* CMPXVideoPlaybackButton::NewL( TRect aRect, const TDesC &aIconPath) +CMPXVideoPlaybackButton* CMPXVideoPlaybackButton::NewL( CMPXVideoPlaybackControlsController* aController, + TRect aRect, const TDesC &aIconPath) { MPX_DEBUG(_L("CMPXVideoPlaybackButton::NewL()")); CMPXVideoPlaybackButton* self = new ( ELeave ) CMPXVideoPlaybackButton(); CleanupStack::PushL( self ); - self->ConstructL( aRect, aIconPath ); + self->ConstructL( aController, aRect, aIconPath ); CleanupStack::Pop(); return self; } @@ -193,17 +196,20 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - gc.Clear( aRect ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); - gc.Clear( aRect ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + gc.Clear( aRect ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + gc.Clear( aRect ); + } } else { diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 14 % +// Version : %version: 15 % @@ -144,7 +144,7 @@ for ( TInt i = 0 ; i < EMPXButtonCount -1 ; i++ ) { CMPXVideoPlaybackButton* button = - CMPXVideoPlaybackButton::NewL( + CMPXVideoPlaybackButton::NewL( iController, TRect( leftOffset, iconSize * i, leftOffset + iconSize, iconSize * ( i + 1 ) ), iconsPath ); @@ -157,7 +157,7 @@ // create pause button in same rect as paly button's // CMPXVideoPlaybackButton* button = - CMPXVideoPlaybackButton::NewL( iButtons[EMPXButtonPlay]->Rect(), iconsPath ); + CMPXVideoPlaybackButton::NewL( iController, iButtons[EMPXButtonPlay]->Rect(), iconsPath ); CleanupStack::PushL( button ); iButtons.AppendL( button ); @@ -563,17 +563,20 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - gc.Clear( aRect ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); - gc.Clear( aRect ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + gc.Clear( aRect ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + gc.Clear( aRect ); + } } else { diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrol.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrol.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrol.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 18 % +// Version : %version: 19 % // INCLUDE FILES @@ -174,15 +174,18 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + } } else { diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 24 % +// Version : %version: 27 % // INCLUDE FILES @@ -65,6 +65,7 @@ const TInt KMPXControlsTimeOut = 4000000; +const TInt KMP4LayoutSet = 6; // ================= MEMBER FUNCTIONS ============================================================== // ------------------------------------------------------------------------------------------------- @@ -76,7 +77,8 @@ CMPXVideoPlaybackContainer* aContainer, TRect aRect ) : iControls( EMPXControlsCount ), iRect( aRect ), - iContainer( aContainer ) + iContainer( aContainer ), + iSurfaceCreated(EFalse) { } @@ -111,6 +113,7 @@ iVideoResourceOffset = coeEnv->AddResourceFileL( resourceFile ); iFileDetails = aDetails; + iTvOutConnected = iFileDetails->iTvOutConnected; iFileDetails->iRNFormat = IsRealFormatL( iFileDetails->iClipName->Des() ); @@ -316,12 +319,14 @@ case EMPXControlCmdTvOutConnected: { MPX_DEBUG(_L(" [EMPXControlCmdTvOutConnected]")); + iTvOutConnected = ETrue; HandleTvOutEventL( ETrue, aEvent, aValue ); break; } case EMPXControlCmdTvOutDisconnected: { MPX_DEBUG(_L(" [EMPXControlCmdTvOutDisConnected]")); + iTvOutConnected = EFalse; HandleTvOutEventL( EFalse, aEvent, aValue ); break; } @@ -376,6 +381,7 @@ // // When surface is created, remove the Real One Bitmap // + iSurfaceCreated = ETrue; SetRealOneBitmapVisibility( EFalse ); break; } @@ -675,7 +681,7 @@ case EMPXProgressBar: { TAknLayoutRect progressPaneRect; - progressPaneRect.LayoutRect( iRect, mp4_progress_pane(0).LayoutLine() ); + progressPaneRect.LayoutRect( iRect, mp4_progress_pane( KMP4LayoutSet ).LayoutLine() ); TRect touchPaneRect( progressPaneRect.Rect().iTl.iX, progressPaneRect.Rect().iTl.iY, @@ -714,7 +720,7 @@ CreateTextLabelWithSpecificLayoutL( R_MPX_LOADING, aControlIndex, properties, - main_mp4_pane_t3(0) ); + main_mp4_pane_t3( KMP4LayoutSet ) ); break; } case EMPXTitleLabel: @@ -800,12 +806,20 @@ AknLayoutUtils::LayoutImage( dlPausedBitmap, iRect, - AknLayoutScalable_Apps::main_mp4_pane_g6(0) ); + AknLayoutScalable_Apps::main_mp4_pane_g6( KMP4LayoutSet ) ); + + TRect ctrlRect = dlPausedBitmap->Rect(); + // To make it aligned with AspectRatioIcon when touch is supported. + if ( AknLayoutUtils::PenEnabled() ) + { + ctrlRect.iBr.iY += 10; + ctrlRect.iTl.iY += 10; + } CMPXVideoPlaybackControl* control = CMPXVideoPlaybackControlPdl::NewL( this, dlPausedBitmap, - dlPausedBitmap->Rect(), + ctrlRect, aControlIndex, properties ); @@ -822,7 +836,7 @@ TAknLayoutRect aspectRatioPaneRect; aspectRatioPaneRect.LayoutRect( iRect, - main_mp4_pane_g5(0).LayoutLine() ); + main_mp4_pane_g5( KMP4LayoutSet ).LayoutLine() ); // // Set the touchable area for aspect ratio @@ -855,11 +869,17 @@ case EMPXBrandingAnimation: { TAknLayoutRect brandingPaneRect; - brandingPaneRect.LayoutRect( iRect, main_mp4_pane_g1(0).LayoutLine() ); + brandingPaneRect.LayoutRect( iRect, main_mp4_pane_g3( KMP4LayoutSet ).LayoutLine() ); + // Decrease the size of BrandingAnimation to make it look better. + TRect brandingLogoRect( + brandingPaneRect.Rect().iTl.iX+20, + brandingPaneRect.Rect().iTl.iY+50, + brandingPaneRect.Rect().iBr.iX-20, + brandingPaneRect.Rect().iBr.iY-50 ); CMPXVideoPlaybackBrandingAnimation* brandingAnimation = CMPXVideoPlaybackBrandingAnimation::NewL( this, - brandingPaneRect.Rect(), + brandingLogoRect, iFileDetails->iRNFormat ); CleanupStack::PushL( brandingAnimation ); @@ -867,7 +887,7 @@ CMPXVideoPlaybackControl* control = CMPXVideoPlaybackControl::NewL( this, brandingAnimation, - brandingPaneRect.Rect(), + brandingLogoRect, aControlIndex, properties ); @@ -890,7 +910,7 @@ AknLayoutUtils::LayoutImage( pausedBitmap, iRect, - AknLayoutScalable_Apps::main_mp4_pane_g4(0) ); + AknLayoutScalable_Apps::main_mp4_pane_g4( KMP4LayoutSet ) ); CMPXVideoPlaybackControl* control = CMPXVideoPlaybackControl::NewL( this, @@ -1031,19 +1051,11 @@ if ( aTop ) { - SKLayout = main_mp4_pane_t1(0); - skRect.iTl.iX = iRect.iBr.iX-iRect.iBr.iX/5; - skRect.iTl.iY = iRect.iTl.iY; - skRect.iBr.iX = iRect.iBr.iX; - skRect.iBr.iY = iRect.iBr.iY/5; + SKLayout = main_mp4_pane_t2( KMP4LayoutSet ); } else { - SKLayout = main_mp4_pane_t2(0); - skRect.iTl.iX = iRect.iBr.iX-iRect.iBr.iX/5; - skRect.iTl.iY = iRect.iBr.iY-iRect.iBr.iY/5; - skRect.iBr.iX = iRect.iBr.iX; - skRect.iBr.iY = iRect.iBr.iY; + SKLayout = main_mp4_pane_t1( KMP4LayoutSet ); } AknLayoutUtils::LayoutLabel( label, @@ -1052,7 +1064,14 @@ if ( AknLayoutUtils::PenEnabled() ) { - label->SetAlignment( EHCenterVCenter ); + if ( aTop ) + { + label->SetAlignment( EHRightVCenter ); + } + else + { + label->SetAlignment( EHLeftVCenter ); + } } else { @@ -1065,6 +1084,12 @@ label->SetAlignment( EHRightVBottom ); } } + + skRect = label->Rect(); + + // Enlarge the button region to make it easy to be touched. + skRect.iTl.iY -= 6; + skRect.iBr.iY += 6; CMPXVideoPlaybackControl* control = CMPXVideoPlaybackControl::NewL( this, label, @@ -1900,5 +1925,13 @@ } } +TBool CMPXVideoPlaybackControlsController::SetBackgroundBlack() +{ + TBool backgroundBlack = iSurfaceCreated && !iTvOutConnected; + + MPX_DEBUG(_L("CMPXVideoPlaybackControlsController::SetBackgroundBlack(%d)"), backgroundBlack); + return backgroundBlack; +} + // End of File diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackmediadetailsviewer.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackmediadetailsviewer.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackmediadetailsviewer.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: e003sa33#11 % +// Version : %version: e003sa33#12 % // INCLUDE FILES @@ -42,7 +42,7 @@ // Constants _LIT(KHeadingValueSeperator, ": "); -_LIT(KWidthHeightSeparator, " x "); +_LIT(KWidthHeightSeparator, " \xd7 "); _LIT(KLeftMargin, " " ); const TInt KMediaDetailsViewerMaxItems = 11; // used to determine the height of each item @@ -368,6 +368,7 @@ resolutionField.AppendNum( iController->FileDetails()->iVideoWidth ); resolutionField.Append( KWidthHeightSeparator ); resolutionField.AppendNum( iController->FileDetails()->iVideoHeight); + AknTextUtils::DisplayTextLanguageSpecificNumberConversion( resolutionField ); iResolutionLabel->SetTextL(resolutionField); iResolutionLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 15 % +// Version : %version: 17 % // INCLUDE FILES @@ -50,6 +50,8 @@ const TInt64 KMPXMicroSeconds = 1000000; const TInt KMPXOneHourInSeconds = 3600; +const TInt KMPXProgressBarHeight = 41; + // ============================ MEMBER FUNCTIONS =================================================== CMPXVideoPlaybackProgressBar::CMPXVideoPlaybackProgressBar( @@ -215,12 +217,11 @@ // // Calculate icon rects // - TAknLayoutRect progressPaneRect; - progressPaneRect.LayoutRect( iEikonEnv->EikAppUi()->ApplicationRect(), - mp4_progress_pane(0).LayoutLine() ); TRect progressRect = Rect(); - progressRect.iBr.iY = progressPaneRect.Rect().Height(); + TInt topMarginHeight = ( progressRect.iBr.iY - KMPXProgressBarHeight ) / 2; + progressRect.iTl.iY += topMarginHeight; + progressRect.iBr.iY = progressRect.iTl.iY + KMPXProgressBarHeight; TAknLayoutRect seekBarFrameRect; seekBarFrameRect.LayoutRect( progressRect, mup_progress_pane_cp04().LayoutLine() ); @@ -484,17 +485,20 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - gc.Clear( aRect ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); - gc.Clear( aRect ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + gc.Clear( aRect ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + gc.Clear( aRect ); + } } else { diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 15 % +// Version : %version: 16 % // INCLUDE FILES @@ -808,17 +808,20 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - gc.Clear( aRect ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); - gc.Clear( aRect ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + gc.Clear( aRect ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + gc.Clear( aRect ); + } } else { diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg --- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg Fri Feb 19 22:52:52 2010 +0200 @@ -52,9 +52,9 @@ pause 100 ControlsTest ShowControls pause 1000 -ControlsTest PointerEvent eventtype=EButton1Down x=630 y=10 +ControlsTest PointerEvent eventtype=EButton1Down x=630 y=350 pause 100 -ControlsTest PointerEvent eventtype=EButton1Up x=630 y=10 +ControlsTest PointerEvent eventtype=EButton1Up x=630 y=350 pause 100 ControlsTest ExpectedResult EAknSoftkeyBack 0 pause 100 @@ -76,9 +76,9 @@ pause 100 ControlsTest ToggleVisibility pause 1000 -ControlsTest PointerEvent eventtype=EButton1Down x=630 y=350 +ControlsTest PointerEvent eventtype=EButton1Down x=40 y=350 pause 100 -ControlsTest PointerEvent eventtype=EButton1Up x=630 y=350 +ControlsTest PointerEvent eventtype=EButton1Up x=40 y=350 pause 100 ControlsTest ExpectedResult EMPXPbvCmdShowFileDetails 0 pause 100 @@ -101,9 +101,9 @@ pause 100 ControlsTest ShowControls pause 1000 -ControlsTest PointerEvent eventtype=EButton1Down x=50 y=50 +ControlsTest PointerEvent eventtype=EButton1Down x=70 y=50 pause 100 -ControlsTest PointerEvent eventtype=EButton1Up x=50 y=10 +ControlsTest PointerEvent eventtype=EButton1Up x=70 y=10 pause 100 ControlsTest ExpectedResult EMPXPbvCmdStretchAspectRatio 0 pause 100 @@ -235,11 +235,11 @@ pause 100 ControlsTest SetDuration 100000 pause 100 -ControlsTest PointerEvent eventtype=EButton1Down x=251 y=350 +ControlsTest PointerEvent eventtype=EButton1Down x=310 y=350 pause 100 -ControlsTest PointerEvent eventtype=EDrag x=251 y=350 +ControlsTest PointerEvent eventtype=EDrag x=310 y=350 pause 100 -ControlsTest PointerEvent eventtype=EButton1Up x=251 y=350 +ControlsTest PointerEvent eventtype=EButton1Up x=310 y=350 pause 100 ControlsTest ExpectedResult EMPXPbvCmdSetPosition 50 pause 100 @@ -259,9 +259,9 @@ pause 100 ControlsTest SetState EPbStatePlaying pause 100 -ControlsTest PointerEvent eventtype=EButton1Down x=630 y=10 +ControlsTest PointerEvent eventtype=EButton1Down x=630 y=350 pause 100 -ControlsTest PointerEvent eventtype=EButton1Up x=630 y=10 +ControlsTest PointerEvent eventtype=EButton1Up x=630 y=350 pause 100 ControlsTest ExpectedResult EAknSoftkeyBack 0 pause 100 @@ -659,9 +659,9 @@ pause 100 ControlsTest SetState EPbStateBuffering pause 100 -ControlsTest PointerEvent eventtype=EButton1Down x=630 y=10 +ControlsTest PointerEvent eventtype=EButton1Down x=630 y=350 pause 100 -ControlsTest PointerEvent eventtype=EButton1Up x=630 y=10 +ControlsTest PointerEvent eventtype=EButton1Up x=630 y=350 pause 100 ControlsTest ExpectedResult EAknSoftkeyBack 0 pause 100 @@ -701,6 +701,8 @@ pause 100 ControlsTest SetState EPbStatePlaying pause 100 +ControlsTest ShowControls +pause 1000 ControlsTest SetDuration 100000 pause 100 ControlsTest PointerEvent eventtype=EButton1Down x=251 y=350 diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/inc/mpxvpbc_stub.h --- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/inc/mpxvpbc_stub.h Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/inc/mpxvpbc_stub.h Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 8 % +// Version : %version: 9 % @@ -46,6 +46,9 @@ */ virtual ~CMPXVideoPlaybackContainer(); + void HandlePointerEventL( const TPointerEvent& aPointerEvent ); + + private: /** diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbc_stub.cpp --- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbc_stub.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbc_stub.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 12 % +// Version : %version: 13 % // INCLUDES @@ -371,4 +371,13 @@ iControlsController->AddFileDetailsL( iFileDetails ); } + +void CMPXVideoPlaybackContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent ) +{ + MPX_ENTER_EXIT(_L("CMPXVideoPlaybackContainer::HandlePointerEventL()")); + + MPX_DEBUG(_L(" iType = %d, iPosition = (%d,%d)"), + aPointerEvent.iType, aPointerEvent.iPosition.iX, aPointerEvent.iPosition.iY ); +} + // End of File diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbuih_stub.cpp --- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbuih_stub.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbuih_stub.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: ou1cpsw#6 % +// Version : %version: 7 % @@ -60,7 +60,7 @@ // ------------------------------------------------------------------------------------------------- // CMPXVideoPlaybackUserInputHandler* CMPXVideoPlaybackUserInputHandler::NewL( - CMPXVideoPlaybackContainer* aContainer) + CMPXVideoPlaybackContainer* aContainer) { MPX_DEBUG(_L("CMPXVideoPlaybackUserInputHandler::NewL()")); @@ -101,6 +101,9 @@ { MPX_DEBUG(_L("CMPXVideoPlaybackUserInputHandler::ProcessPointerEvent")); + MPX_DEBUG(_L(" iType = %d, iPosition = (%d,%d)"), + aPointerEvent.iType, aPointerEvent.iPosition.iX, aPointerEvent.iPosition.iY ); + switch (iProcessingInputType) { case EMpxVideoNone: diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/videoplaybackcontrolstestblocks.cpp --- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/videoplaybackcontrolstestblocks.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/videoplaybackcontrolstestblocks.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 9 % +// Version : %version: 10 % // [INCLUDE FILES] - do not remove @@ -541,18 +541,42 @@ { MPX_DEBUG(_L("CVideoPlaybackControlsTest::TapOnScreen()")); + MPX_DEBUG(_L(" aType = %d, aPosition = (%d,%d)"), aType, aPosition.iX, aPosition.iY); + + TPoint tapPoint( aPosition ); + +#if !defined(__WINS__) + + // + // On the hardware, the window server is performing a rotation. + // This calculation will adjust the points so the same touch point is received + // on both the emulator and hardware + // + // ix = ( ScreenWidth - 1 ) - oldPosition.iY - YOffset + // I am not sure why they subtract 1 from the screen width, but they do + // The YOffset can be read from the wsini.ini file + // + // iy = oldPosition.iX + // + tapPoint.iX = ( 360 - 1 ) - aPosition.iY - 12; + tapPoint.iY = aPosition.iX; + +#endif + + MPX_DEBUG(_L(" tapPosition = (%d,%d)"), tapPoint.iX, tapPoint.iY); + TRawEvent pointer; if ( aType == TPointerEvent::EButton1Down ) { - pointer.Set( TRawEvent::EButton1Down, aPosition.iX, aPosition.iY ); + pointer.Set( TRawEvent::EButton1Down, tapPoint.iX, tapPoint.iY ); iWsSession.SimulateRawEvent( pointer ); iWsSession.Flush(); } else if ( aType == TPointerEvent::EButton1Up ) { - pointer.Set( TRawEvent::EButton1Up, aPosition.iX, aPosition.iY ); + pointer.Set( TRawEvent::EButton1Up, tapPoint.iX, tapPoint.iY ); iWsSession.SimulateRawEvent( pointer ); iWsSession.Flush(); diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp --- a/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: e003sa33#58 % +// Version : %version: 61 % // Include Files @@ -133,18 +133,18 @@ iCloseAO = NULL; } + if ( iFileDetails ) + { + delete iFileDetails; + iFileDetails = NULL; + } + if ( iDisplayHandler ) { delete iDisplayHandler; iDisplayHandler = NULL; } - if ( iFileDetails ) - { - delete iFileDetails; - iFileDetails = NULL; - } - if ( iPlaybackUtility ) { TRAP_IGNORE( iPlaybackUtility->RemoveObserverL( *this ) ); @@ -223,6 +223,18 @@ case EMPXPbvCmdClose: { MPX_DEBUG(_L("CMPXVideoBasePlaybackView::HandleCommandL() EMPXPbvCmdClose")); + + // + // The display window must be removed before closing the playback plugin + // + if ( iDisplayHandler ) + { + // + // Remove the display window so the surface can be released + // + iDisplayHandler->RemoveDisplayWindow(); + } + CreateGeneralPlaybackCommandL( EPbCmdClose ); break; } @@ -351,7 +363,19 @@ LaunchDRMDetailsL(); break; } + case EAknSoftkeyClose: + { + // + // Close is in progress + // Remove the display window so the surface can be released + // + if ( iDisplayHandler ) + { + iDisplayHandler->RemoveDisplayWindow(); + } + break; + } } } @@ -402,6 +426,7 @@ // iPlaybackUtility = MMPXPlaybackUtility::UtilityL( EMPXCategoryVideo, KPbModeDefault ); iPlaybackUtility->AddObserverL( *this ); + iPlaybackUtility->SetPrimaryClientL(); // // Initialize the playback state @@ -473,10 +498,11 @@ // // Delete the display handler when the view is deactivated // - iDisplayHandler->RemoveDisplayWindow(); - - delete iDisplayHandler; - iDisplayHandler = NULL; + if ( iDisplayHandler ) + { + delete iDisplayHandler; + iDisplayHandler = NULL; + } if ( iPlaybackUtility ) { @@ -737,23 +763,28 @@ { HandleVideoPlaybackMessage( aMessage ); } - else if ( KMPXMediaIdVideoDisplayMessage == id ) + else if ( KMPXMediaIdVideoDisplaySyncMessage == id ) { if ( iDisplayHandler ) { TMPXVideoDisplayCommand cmdId = iDisplayHandler->HandleVideoDisplayMessageL( aMessage ); if ( cmdId == EPbMsgVideoSurfaceCreated ) - { + { // - // Notify container that surface has been created to make window transparent - // + // Notify container that surface has been created to make window transparent + // if ( iContainer ) { iContainer->HandleCommandL( EMPXPbvSurfaceCreated ); } - } + } } + + // + // Signal Sync Message handling is complete + // + iPlaybackUtility->CommandL( EPbCmdSyncMsgComplete ); } } @@ -868,11 +899,18 @@ // void CMPXVideoBasePlaybackView::HandleClosePlaybackViewL() { - MPX_DEBUG( - _L("CMPXVideoBasePlaybackView::HandleClosePlaybackViewL()") ); + MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::HandleClosePlaybackViewL()")); if ( IsMultiItemPlaylist() ) { + if ( iDisplayHandler ) + { + // + // Remove the display window so the surface can be released + // + iDisplayHandler->RemoveDisplayWindow(); + } + iPlaybackUtility->CommandL( EPbCmdNext ); } else @@ -1541,7 +1579,6 @@ void CMPXVideoBasePlaybackView::DoClosePlayerL() { MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::DoClosePlayerL()")); - AppUi()->HandleCommandL( EAknSoftkeyBack ); } @@ -2018,6 +2055,7 @@ if ( openError == KErrNone ) { MPX_TRAPD( err, drmUiHandling->ShowDetailsViewL( fileHandle ) ); + if ( KLeaveExit == err ) { User::Leave( err ); @@ -2033,6 +2071,7 @@ if ( err == KErrNone && openError == KErrNone ) { MPX_TRAPD( err, drmUiHandling->ShowDetailsViewL( fileHandle64 ) ); + if ( KLeaveExit == err ) { User::Leave( err ); diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp --- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 7 % +// Version : %version: 9 % #include #include diff -r dec420019252 -r 7d91903f795f videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp --- a/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#59 % +// Version : %version: da1mmcf#61 % #include @@ -525,7 +525,7 @@ if ( iPlaybackUtility ) { ClosePlaybackPluginL(); - + MMPXPlayerManager& manager = iPlaybackUtility->PlayerManager(); TRAP_IGNORE( manager.ClearSelectPlayersL() ); }