--- a/mediasettings/mediasettingsengine/group/MPSettROPModel.mmp Wed Apr 14 15:59:50 2010 +0300
+++ b/mediasettings/mediasettingsengine/group/MPSettROPModel.mmp Tue Apr 27 16:40:33 2010 +0300
@@ -16,10 +16,11 @@
-// Version : %version: 5 %
+// Version : %version: 6 %
+#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
TARGET mpsettropmodel.dll
CAPABILITY CAP_ECOM_PLUGIN
@@ -41,7 +42,7 @@
START RESOURCE MPSettingsROPModel.rss
HEADER
TARGET mpsettingsropmodel.rsc
-TARGETPATH resource
+TARGETPATH RESOURCE_FILES_DIR
END
USERINCLUDE .
--- a/mediasettings/mediasettingsengine/rom/mpsettropmodel.iby Wed Apr 14 15:59:50 2010 +0300
+++ b/mediasettings/mediasettingsengine/rom/mpsettropmodel.iby Tue Apr 27 16:40:33 2010 +0300
@@ -21,8 +21,6 @@
#include <data_caging_paths_for_iby.hrh>
-ECOM_PLUGIN( mpsettropmodel.dll, 101f857b.rsc )
-
-data=DATAZ_\resource\MPSettingsROPModel.rsc resource\MPSettingsROPModel.rsc
+ECOM_PLUGIN( mpsettropmodel.dll, mpsettropmodel.rsc )
#endif // MPSETTROPMODEL_IBY
\ No newline at end of file
--- a/mediasettings/mediasettingsengine/rom/mpsettropmodelrsc.iby Wed Apr 14 15:59:50 2010 +0300
+++ b/mediasettings/mediasettingsengine/rom/mpsettropmodelrsc.iby Tue Apr 27 16:40:33 2010 +0300
@@ -22,7 +22,7 @@
#include <data_caging_paths_for_iby.hrh>
-data=DATAZ_\APP_RESOURCE_DIR\MPSettingsROPModel.rsc APP_RESOURCE_DIR\MPSettingsROPModel.rsc
+data=DATAZ_\RESOURCE_FILES_DIR\mpsettingsropmodel.rsc RESOURCE_FILES_DIR\mpsettingsropmodel.rsc
#endif // MPSETTROPMODELRSC_IBY
\ No newline at end of file
--- a/videocollection/hgmyvideos/data/vcxhgmyvideos.rss Wed Apr 14 15:59:50 2010 +0300
+++ b/videocollection/hgmyvideos/data/vcxhgmyvideos.rss Tue Apr 27 16:40:33 2010 +0300
@@ -182,6 +182,13 @@
txt = qtn_vcx_hg_options_use_video_as;
flags = EEikMenuItemSpecificListQuery;
},
+#else
+ MENU_ITEM
+ {
+ command = EVcxHgMyVideosCmdMarkContext;
+ txt = qtn_options_list_mark_one;
+ flags = EEikMenuItemSpecific;
+ },
#endif
MENU_ITEM
{
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideos.hrh Wed Apr 14 15:59:50 2010 +0300
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideos.hrh Tue Apr 27 16:40:33 2010 +0300
@@ -45,6 +45,7 @@
EVcxHgMyVideosCmdUnmark, // Mark/Unmark submenu: Unmark video
EVcxHgMyVideosCmdMarkAll, // Mark/Unmark submenu: Mark all videos
EVcxHgMyVideosCmdUnmarkAll, // Mark/Unmark submenu: Unmark all videos
+ EVcxHgMyVideosCmdMarkContext, // Mark video (context menu)
#ifdef RD_VIDEO_AS_RINGING_TONE
EVcxHgMyVideosCmdAiwAssign, // Submenu: Placeholder for "Use video as"
#endif
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosvideomodelhandler.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosvideomodelhandler.h Tue Apr 27 16:40:33 2010 +0300
@@ -475,13 +475,13 @@
* @return ETrue if media belongs to category, otherwise EFalse.
*/
TBool ValidOrigin( CMPXMedia& aMedia );
-
+
/**
- * Saves MPX id of highlighted item.
+ * Saves MPX id of highlighted item.
*/
void SaveHighlightedItemIdL();
-
- /**
+
+ /**
* Update scrollbar strip type depending on sort order
*/
void UpdateScrollbarTypeL( const TVcxMyVideosSortingOrder& aSortingOrder );
@@ -501,10 +501,25 @@
* Resizes scroller with refetch
* This is faster way to reset scroller than CHgScroller::Reset() and
* CHgScroller::ResizeL() calls combined
- * @param aNewItemCount New item count
+ * @param aNewItemCount New item count
*/
void ResizeScrollerL( TInt aNewItemCount );
+ /**
+ * Saves the marked MPXMedia items to iMarkedMediaList. This is called before
+ * re-sorting the videos list if marking mode is enabled to preserve the
+ * marking status of marked items.
+ */
+ void SaveMarkingsL();
+
+ /**
+ * Restores the marking status of the MPXMedia items from iMarkedMediaList.
+ * This is called after re-sorting the list if marking mode is enabled to
+ * restore the marking status of the marked items.
+ * This method resets iMarkedMediaList before returning.
+ */
+ void RestoreMarkingsL();
+
private:
/**
@@ -570,7 +585,7 @@
* MPX id of highlighted item in a video list.
*/
TMPXItemId iHighlightedItemId;
-
+
/**
* Downloading has been resumed for these MPX IDs. Needed for showing
* note "Resuming download not possible, download starts from beginning".
@@ -581,6 +596,14 @@
* Video indicator gives an overlay icon for video thumbnails.
*/
CMyVideosIndicator* iVideoIndicator;
+
+ /**
+ * Array of marked MPXMedia items to temporarily hold a list of marked items in video list.
+ * The array is temporarily filled with pointers to marked media items prior to re-sorting
+ * the video list and is cleared after sorting.
+ */
+ RPointerArray<CMPXMedia> iMarkedMediaList;
+
};
#endif // VCXHGMYVIDEOSVIDEOMODELHANDLER_H
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosmainview.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosmainview.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*/
-// Version : %version: 39 %
+// Version : %version: 42 %
// INCLUDE FILES
#include <bldvariant.hrh>
@@ -459,7 +459,8 @@
case EVcxHgMyVideosCmdUnmark:
case EVcxHgMyVideosCmdMarkAll:
case EVcxHgMyVideosCmdUnmarkAll:
- case EVcxHgMyVideosCmdToggleMultipleMarking:
+ case EVcxHgMyVideosCmdToggleMultipleMarking:
+ case EVcxHgMyVideosCmdMarkContext:
{
VideoListL()->HandleMarkCommandL( aCommand );
}
@@ -624,6 +625,8 @@
aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdShowViaHomenet, ETrue );
#ifdef RD_VIDEO_AS_RINGING_TONE
aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdAiwAssign, ETrue );
+#else
+ aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdMarkContext, ETrue );
#endif
aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdOpen, ETrue );
aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdPlay, ETrue );
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -625,6 +625,12 @@
EndMarkingMode();
break;
}
+ case EVcxHgMyVideosCmdMarkContext:
+ {
+ iVideoModel->HandleMarkCommandL( EVcxHgMyVideosCmdMark );
+ StartMarkingMode();
+ break;
+ }
default:
break;
}
@@ -749,6 +755,9 @@
// Hide Assign (use as) menu item
aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdAiwAssign, ETrue );
}
+#else
+ // Context sensitive Mark
+ aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdMarkContext, IsMarking() );
#endif
// Marking submenu
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -141,6 +141,7 @@
CVcxHgMyVideosVideoModelHandler::~CVcxHgMyVideosVideoModelHandler()
{
iResumeArray.Close();
+ iMarkedMediaList.Close();
delete iVideoDetails;
delete iVideoIndicator;
@@ -186,9 +187,9 @@
TRAP_IGNORE( iDownloadUpdater->SetPausedL( ETrue ) );
iModel.CollectionClient().SetVideoModelObserver( NULL );
iScroller.DisableScrollBuffer();
-
+
TRAP_IGNORE( SaveHighlightedItemIdL() );
-
+
IPTVLOGSTRING_LOW_LEVEL(
"MPX My Videos UI # CVcxHgMyVideosVideoModelHandler::DoModelDeactivate() - Exit" );
}
@@ -198,7 +199,7 @@
// -----------------------------------------------------------------------------
//
void CVcxHgMyVideosVideoModelHandler::SaveHighlightedItemIdL()
- {
+ {
iHighlightedItemId = iVideoArray->ArrayIndexToMpxItemIdL( Highlight() );
}
@@ -248,8 +249,14 @@
iDownloadUpdater->SetPausedL( ETrue );
TVcxMyVideosSortingOrder sortOrder = iModel.VideolistSortOrderL();
+
+ if ( iVideoListImpl.IsMarking() )
+ {
+ SaveMarkingsL();
+ }
+
iVideoArray->ResortVideoListL( sortOrder );
-
+
TInt highlight = iScroller.SelectedIndex();
ResetScrollerBufferAndItemsL();
@@ -258,6 +265,11 @@
iView.DynInitMskL();
+ if ( iVideoListImpl.IsMarking() )
+ {
+ RestoreMarkingsL();
+ }
+
iDownloadUpdater->VideoArrayChangedL();
iDownloadUpdater->SetPausedL( EFalse );
@@ -1053,8 +1065,15 @@
// Last item has deleted, set empty text and reset list.
iVideoListImpl.SetEmptyListTextByResourceL( R_VCXHGMYVIDEOS_NO_VIDEOS );
iScroller.Reset();
+
+ // End marking mode for empty list
+ if ( iVideoListImpl.IsMarking() )
+ {
+ iVideoListImpl.EndMarkingMode();
+ iView.DynInitRskL();
+ }
}
-
+
// fix for error where highlight was sometimes lost after delete. Problem is
// that someone is 'stealing' keyboard focus from the scroller (probably the
// confirmation note, as user needs to clicks them to start the delete).
@@ -1194,16 +1213,16 @@
if ( videoCount > 0 )
{
ResizeScrollerL( videoCount );
-
+
TInt highlight( KErrNotFound );
-
+
if ( iRestoreHighlightPosition )
{
highlight = iVideoArray->IndexByMPXItemId( iHighlightedItemId );
}
highlight != KErrNotFound ? iScroller.SetSelectedIndex( highlight ) :
- iScroller.SetSelectedIndex( 0 );
+ iScroller.SetSelectedIndex( 0 );
}
else
{
@@ -1482,3 +1501,55 @@
iScroller.ResizeL( aNewItemCount );
}
}
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::SaveMarkingsL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoModelHandler::SaveMarkingsL()
+ {
+ // Get marked list item indexes
+ RArray<TInt> markedVideos;
+ CleanupClosePushL( markedVideos );
+ MarkedVideosL( markedVideos );
+ TInt markedCount( markedVideos.Count() );
+
+ iMarkedMediaList.Reset();
+ iMarkedMediaList.ReserveL( markedCount );
+
+ TInt markedIndex;
+
+ for ( TInt i = 0; i <markedCount; i++ )
+ {
+ markedIndex = markedVideos[ i ];
+ CMPXMedia* media = iVideoArray->MPXMedia( markedIndex );
+ iMarkedMediaList.Append( media );
+ iScroller.ItemL( markedIndex ).ClearFlags( CHgItem::EHgItemFlagMarked );
+ IPTVLOGSTRING3_LOW_LEVEL( "CVcxHgMyVideosVideoModelHandler::SaveMarkingsL() marked index = %d CMPXMedia = 0x%08x", markedIndex, media );
+ }
+
+ CleanupStack::PopAndDestroy( &markedVideos );
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::RestoreMarkingsL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoModelHandler::RestoreMarkingsL()
+ {
+ TInt videoCount = iVideoArray->VideoCount();
+ TInt found( KErrNotFound );
+
+ for ( TInt i = 0; i < videoCount; i++ )
+ {
+ CMPXMedia* media = iVideoArray->MPXMedia( i );
+ found = iMarkedMediaList.Find( media );
+ if ( KErrNotFound != found )
+ {
+ iScroller.ItemL( i ).SetFlags( CHgItem::EHgItemFlagMarked );
+ }
+ IPTVLOGSTRING4_LOW_LEVEL( "CVcxHgMyVideosVideoModelHandler::RestoreMarkingsL() list index = %d CMPXMedia = 0x%08x found = %d", i, media, found );
+ }
+
+ iMarkedMediaList.Reset();
+ }
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideoscollectionplugin.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideoscollectionplugin.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -45,11 +45,6 @@
const TInt KMaxFileDeleteAttempts = 4;
const TInt KFileDeleteLoopDelay = 100000;
-// Add 2000 new videos to memory card. Reboot phone, mds starts harvesting,
-// open my videos -> mds server crashes and lots of events is sent to client.
-// If one waits until all are harvested before opening my videos, it works.
-
-
// ============================ MEMBER FUNCTIONS ==============================
// ----------------------------------------------------------------------------
--- a/videoplayback/inc/mpxvideobaseplaybackview.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/inc/mpxvideobaseplaybackview.h Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 19 %
+// Version : %version: 21 %
// This file defines the API for VideoBasePlaybackView.dll
@@ -208,11 +208,6 @@
inline void HandleOpenL( const CMPXCollectionPlaylist& /*aPlaylist*/, TInt /*aError*/ ) {}
- /*
- * Handle actions when the surface is being removed
- */
- void RemoveBackgroundSurfaceL();
-
public:
/**
* Set property
@@ -235,6 +230,8 @@
*/
virtual void HandleStoppedStateL() = 0;
+ virtual void HandleInitializingStateL( TMPXPlaybackState aLastState ) = 0;
+
virtual void HandlePluginErrorL( TInt aError );
virtual void ClosePlaybackViewL();
@@ -247,7 +244,6 @@
void DisplayInfoMessageL( TInt aResourceId, TBool aWaitingDialog = EFalse );
void DisplayErrorMessageL( TInt aResourceId );
-
CMPXVideoBasePlaybackView();
/*
@@ -287,6 +283,10 @@
TInt RetrieveBufferingPercentageL();
+ void DoHandleInitializingStateL( TMPXPlaybackState aLastState );
+
+ TBool IsMultiItemPlaylist();
+
private:
/**
@@ -309,7 +309,6 @@
void SetVideoRectL();
-
void DisplayFileDetailsDialogL();
/**
@@ -347,7 +346,7 @@
void ShowFileDetailsDialogL();
void HandleDrmErrorsL( TInt aError );
- TBool IsMultiItemPlaylist();
+
TInt OpenDrmFileHandleL( RFile& aFile );
void LaunchDRMDetailsL();
@@ -355,6 +354,8 @@
void SendWindowCommandL( TMPXVideoPlaybackCommand aCmd );
+ TBool IsInMemoryPlugin();
+
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
TInt OpenDrmFileHandle64L( RFile64& aFile );
#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
@@ -382,8 +383,6 @@
TBool iPdlReloading;
TBool iRealOneDelayedPlay;
TBool iKeyboardInFocus;
-
- HBufC* iClipName;
};
#endif // __VIDEOBASEPLAYBACKVIEW_H__
--- a/videoplayback/inc/mpxvideopdlplaybackview.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/inc/mpxvideopdlplaybackview.h Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
// This file defines the API for VideoPlaybackView.dll
@@ -73,6 +73,8 @@
void HandleBufferingStateL();
+ void HandleInitializingStateL( TMPXPlaybackState aLastState );
+
private:
CMPXVideoPdlPlaybackView();
--- a/videoplayback/inc/mpxvideoplaybackcontrol.hrh Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/inc/mpxvideoplaybackcontrol.hrh Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 9 %
+// Version : %version: 10 %
#ifndef MPXVIDEOPLAYBACKCONTROL_HRH_
@@ -100,7 +100,8 @@
EMPXControlCmdCloseFileDetailsViewer,
EMPXControlCmdHideControls,
EMPXControlCmdSurfaceCreated,
- EMPXControlCmdSurfaceRemoved
+ EMPXControlCmdSurfaceRemoved,
+ EMPXControlCmdLoadingStarted
};
enum TMPXVideoSeekingType
--- a/videoplayback/inc/mpxvideoplaybackcontrolscontroller.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/inc/mpxvideoplaybackcontrolscontroller.h Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: e003sa33#11 %
+// Version : %version: e003sa33#14 %
#ifndef MPXVIDEOPLAYBACKCONTROLSCONTROLLER_H_
@@ -139,9 +139,12 @@
inline TBool IsRealMediaFormat();
/**
- * Check if video clip's aspect ratio is equal to screen display aspect ratio
+ * Check aspect ratio icon
+ * In case that Clip's AR is equals to Screen Display AR, also hide AR icon.
+ *
+ * @return ETrue in case that clip's AspectRatioIcon can be shown
*/
- TBool IsSameAspectRatio();
+ TBool ShowAspectRatioIcon();
private:
/**
@@ -338,6 +341,18 @@
*/
void CloseMediaDetailsViewer();
+ /*
+ * Handles the Loading Started command that was received after Buffering state was
+ * blocked by the playback view
+ */
+ void HandleLoadingStarted();
+
+ /*
+ * This will cause the controls to be updated when the surface changes and the
+ * controls are visible.
+ */
+ void RedrawControlsForSurfaceChanges();
+
private:
CMPXVideoPlaybackControlPolicy* iControlsPolicy;
--- a/videoplayback/inc/mpxvideoplaybackdisplayhandler.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/inc/mpxvideoplaybackdisplayhandler.h Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 9 %
+// Version : %version: 10 %
#ifndef __CMPXVIDEOPLAYBACKDISPLAYHANDLER_H__
@@ -65,9 +65,9 @@
void CreateDisplayWindowL( CWsScreenDevice& aScreenDevice, RWindow& aWin );
- void RemoveDisplayWindow( TBool aSignalPlaybackPlugin = ETrue );
+ void RemoveDisplayWindow();
- void HandleVideoDisplaySyncMessageL( CMPXMessage* aMessage );
+ void HandleVideoDisplayMessageL( CMPXMessage* aMessage );
TInt SetAspectRatioL( TMPXVideoPlaybackCommand aCmd );
--- a/videoplayback/inc/mpxvideoplaybackuserinputhandler.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/inc/mpxvideoplaybackuserinputhandler.h Tue Apr 27 16:40:33 2010 +0300
@@ -15,8 +15,8 @@
*
*/
-// Version : %version: ou1cpsw#7 %
+// Version : %version: 8 %
#ifndef MPXVIDEOPLAYBACKUSERINPUTHANDLER_H_
@@ -103,9 +103,7 @@
* @return void
*/
void SetForeground(TBool aForeground);
-
-
-
+
private:
/**
* Handles volume repeat timer timout
@@ -130,8 +128,7 @@
void ReRoutePointerEventL(CCoeControl* aControl,
const TPointerEvent& aPointerEvent,
TMPXVideoControlType aMPXControl);
-
-
+
private:
TMPXVideoUserInputType iProcessingInputType; // the type of input being processed
@@ -145,10 +142,10 @@
CPeriodic* iVolumeRepeatTimer; // owned
TBool iVolumeRepeatUp;
TBool iForeground;
-
- CMPXVideoPlaybackContainer* iContainer; // not owned
-
+ CMPXVideoPlaybackContainer* iContainer; // not owned
+ CCoeControl* iActiveControlPtr; // not owned
+ TMPXVideoControlType iActiveControlType;
};
--- a/videoplayback/inc/mpxvideoplaybackview.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/inc/mpxvideoplaybackview.h Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 4 %
+// Version : %version: 5 %
// This file defines the API for VideoPlaybackView.dll
@@ -77,6 +77,8 @@
*/
void HandleStoppedStateL();
+ void HandleInitializingStateL( TMPXPlaybackState aLastState );
+
private:
CMPXVideoPlaybackView();
--- a/videoplayback/videohelix/inc/mpxvideofiledetails.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/inc/mpxvideofiledetails.h Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 8 %
+// Version : %version: 9 %
@@ -69,7 +69,9 @@
TInt iResolutionHeight;
TInt iMaxVolume;
TInt iBitRate;
-
+ TInt iCreationTime;
+ TInt iModificationTime;
+
TBool iSeekable;
TBool iPausableStream;
TBool iLiveStream;
--- a/videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 22 %
+// Version : %version: 24 %
#ifndef _CMPXVIDEOPLAYBACKCONTROLLER_H_
@@ -132,6 +132,8 @@
void SetVolumeSteps( TInt aVolumeSteps );
void HandleVolumeL( TBool aIncrease );
+ void SendHideControlsEventL();
+
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
void OpenFile64L( const TDesC& aMediaFile, RFile64& aFile, TInt aPosition, TInt aAccessPointId = KUseDefaultIap );
@@ -184,7 +186,7 @@
CHWRMLight* GetLightsL();
void ReleaseLights();
- TBool SendTvOutEventL( TBool aConnected, TBool aPlaybackAllowed );
+ void SendTvOutEventL( TBool aConnected, TBool aPlaybackAllowed );
protected:
--- a/videoplayback/videohelix/inc/mpxvideoplayerutility.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/inc/mpxvideoplayerutility.h Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 10 %
+// Version : %version: 11 %
#ifndef __MPXVIDEOPLAYERUTILITY__
@@ -123,8 +123,6 @@
const TSurfaceId& aSurfaceId,
const TRect& aCropRect,
TVideoAspectRatio aAspectRatio );
-
- void SurfaceRemovedFromView();
#endif
--- a/videoplayback/videohelix/src/mpxvideoaccessoryobserver.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/src/mpxvideoaccessoryobserver.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 7 %
+// Version : %version: 8 %
//
// INCLUDE FILES
@@ -133,7 +133,6 @@
MPX_DEBUG(_L("CMPXVideoAccessoryObserver::UpdateTvOutStatusL()"));
TBool statusChanged = EFalse;
- TBool tvOutHDMI = EFalse;
//
// Initialize TV-Out value to EFalse before checking if
@@ -168,23 +167,7 @@
{
MPX_DEBUG(_L(" TV-Out Capabilities Exist"));
- tvOutConnected = ETrue;
-
- TAccPolNameRecord nameRecord;
- nameRecord.SetNameL( KAccVideoOut );
- TAccValueTypeTInt value;
- iConnection.GetValueL( genId, nameRecord, value );
-
- if ( value.iValue == EAccVideoOutEHDMI )
- {
- tvOutHDMI = ETrue;
- //
- // HDMI has precedence over Comp TV-Out, If the accessory is
- // HDMI then stop the search for Video Out accessory, else continue
- // looping through all the accessories.
- //
- break;
- }
+ tvOutConnected = ETrue;
}
}
@@ -198,7 +181,7 @@
{
iTvOutConnected = tvOutConnected;
- if ( iTvOutConnected && !tvOutHDMI)
+ if ( iTvOutConnected )
{
//
// Check the playablility of the clip
@@ -213,7 +196,7 @@
statusChanged = ETrue;
}
- MPX_DEBUG(_L("CMPXVideoAccessoryObserver::UpdateTvOutStatusL iTvOutConnected = %d, tvOutHDMI = %d"), iTvOutConnected, tvOutHDMI);
+ MPX_DEBUG(_L("CMPXVideoAccessoryObserver::UpdateTvOutStatusL iTvOutConnected = %d"), iTvOutConnected);
MPX_DEBUG(_L("CMPXVideoAccessoryObserver::UpdateTvOutStatusL() ret = %d"), statusChanged);
--- a/videoplayback/videohelix/src/mpxvideofiledetails.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/src/mpxvideofiledetails.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 10 %
+// Version : %version: 11 %
@@ -126,6 +126,8 @@
iFourCCCode = 0;
iDuration = 0;
+ iCreationTime = 0;
+ iModificationTime = 0;
}
// EOF
--- a/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 52 %
+// Version : %version: 56 %
//
@@ -86,6 +86,8 @@
_LIT( KRightCopy, "Copyright" );
_LIT( KLanguage, "Language" );
_LIT( KKeywords, "Keywords" );
+_LIT( KCreated, "CreationTime" );
+_LIT( KLastModified, "ModificationTime" );
// ============================ MEMBER FUNCTIONS ===================================================
@@ -546,15 +548,6 @@
break;
}
- case EPbCmdSurfaceRemoved:
- {
- iPlayer->SurfaceRemovedFromView();
- break;
- }
- default:
- {
- break;
- }
}
}
}
@@ -1451,6 +1444,16 @@
{
iFileDetails->iKeywords = metaData->Value().AllocL();
}
+ else if ( !metaData->Name().CompareF( KCreated ) )
+ {
+ TLex lex( metaData->Value() );
+ lex.Val( iFileDetails->iCreationTime );
+ }
+ else if ( !metaData->Name().CompareF( KLastModified ) )
+ {
+ TLex lex( metaData->Value() );
+ lex.Val( iFileDetails->iModificationTime );
+ }
CleanupStack::PopAndDestroy( metaData );
}
@@ -1770,7 +1773,7 @@
// CMPXVideoPlaybackController::SendTvOutEventL
// -------------------------------------------------------------------------------------------------
//
-TBool CMPXVideoPlaybackController::SendTvOutEventL( TBool aConnected, TBool aPlaybackAllowed )
+void CMPXVideoPlaybackController::SendTvOutEventL( TBool aConnected, TBool aPlaybackAllowed )
{
MPX_ENTER_EXIT(_L("CMPXVideoPlaybackController::SendTvOutEventL()"));
@@ -1792,6 +1795,31 @@
CleanupStack::PopAndDestroy( message );
}
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackController::SendHideControlsEventL
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPlaybackController::SendHideControlsEventL()
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackController::SendHideControlsEventL()"));
+
+ //
+ // Send notice to the playback view to hide the controls
+ // when key lock
+ //
+ CMPXMessage* message = CMPXMessage::NewL();
+ CleanupStack::PushL( message );
+
+ message->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId, KMPXMediaIdVideoPlayback );
+
+ message->SetTObjectValueL<TMPXVideoPlaybackCommand>
+ ( KMPXMediaVideoPlaybackCommand, EPbCmdHideControls );
+
+ iMPXPluginObs->HandlePlaybackMessage( message, KErrNone );
+
+ CleanupStack::PopAndDestroy( message );
+}
+
// ------------------------------------------------------------------------------------------------
// CMPXVideoPlaybackController::HandleTvOutEventL()
// ------------------------------------------------------------------------------------------------
--- a/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 22 %
+// Version : %version: 23 %
@@ -179,12 +179,17 @@
if ( iVideoPlaybackCtlr->iAppInForeground )
{
- if ( iVideoPlaybackCtlr->IsAlarm() ||
- ( iVideoPlaybackCtlr->IsKeyLocked() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled ) )
+ if ( iVideoPlaybackCtlr->IsAlarm() )
{
iVideoPlaybackCtlr->iForegroundPause = ETrue;
iVideoPlaybackCtlr->iState->HandlePause();
}
+ else if ( iVideoPlaybackCtlr->IsKeyLocked() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled )
+ {
+ iVideoPlaybackCtlr->iForegroundPause = ETrue;
+ iVideoPlaybackCtlr->iState->HandlePause();
+ iVideoPlaybackCtlr->SendHideControlsEventL();
+ }
else if ( iVideoPlaybackCtlr->IsPhoneCall() || iVideoPlaybackCtlr->IsVideoCall() )
{
iVideoPlaybackCtlr->iForegroundPause = EFalse;
--- a/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,8 @@
*
*/
-// Version : %version: 37 %
+
+// Version : %version: 39 %
//
@@ -577,6 +578,27 @@
TMPXAttribute( KMPXMediaVideoKeywords ),
*( iVideoPlaybackCtlr->iFileDetails->iKeywords ) );
}
+
+ //
+ // Creation date/time
+ //
+ if ( attrV & KMPXMediaVideoCreated.iAttributeId )
+ {
+ aMedia->SetTObjectValueL<TInt>(
+ TMPXAttribute( KMPXMediaVideoCreated ),
+ iVideoPlaybackCtlr->iFileDetails->iCreationTime );
+ }
+
+ //
+ // Last Modified date/time
+ //
+ if ( attrV & KMPXMediaVideoLastModified.iAttributeId )
+ {
+ aMedia->SetTObjectValueL<TInt>(
+ TMPXAttribute( KMPXMediaVideoLastModified ),
+ iVideoPlaybackCtlr->iFileDetails->iModificationTime );
+ }
+
}
// ------------------------------------------------------------------------------------------------
@@ -1716,17 +1738,32 @@
}
// ------------------------------------------------------------------------------------------------
-// CMPXBufferingState::HandleLoadingStarted()
-//
-// We transition to Buffering state after Play command is issued initially
-//
-// No state transitions necessary here as we are already in Buffering state
+// CMPXBufferingState::HandleLoadingStarted()
// ------------------------------------------------------------------------------------------------
void CMPXBufferingState::HandleLoadingStarted()
{
MPX_DEBUG(_L("CMPXBufferingState::HandleLoadingStarted()"));
- // no need to send any events - we are already in buffering state
+ TInt loadingPercentage = RetrieveBufferingPercentage();
+
+ if ( loadingPercentage < 100 )
+ {
+ MPX_TRAPD( err,
+ {
+ CMPXMessage* message = CMPXMessage::NewL();
+ CleanupStack::PushL( message );
+
+ message->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId,
+ KMPXMediaIdVideoPlayback );
+
+ message->SetTObjectValueL<TMPXVideoPlaybackCommand>( KMPXMediaVideoPlaybackCommand,
+ EPbCmdLoadingStarted );
+
+ iVideoPlaybackCtlr->iMPXPluginObs->HandlePlaybackMessage( message, KErrNone );
+
+ CleanupStack::PopAndDestroy( message );
+ } );
+ }
}
// ------------------------------------------------------------------------------------------------
--- 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 <AudioPreference.h>
@@ -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<TInt>( KMPXMessageGeneralId, KMPXMediaIdVideoDisplaySyncMessage );
+ msg->SetTObjectValueL<TInt>( KMPXMessageGeneralId, KMPXMediaIdVideoDisplayMessage );
msg->SetTObjectValueL<TInt>( 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<TInt>( KMPXMessageGeneralId, KMPXMediaIdVideoDisplaySyncMessage );
+ msg->SetTObjectValueL<TInt>( KMPXMessageGeneralId, KMPXMediaIdVideoDisplayMessage );
msg->SetTObjectValueL<TInt>( KMPXMediaVideoDisplayCommand, aCmd );
msg->SetTObjectValueL<TSurfaceId>( KMPXMediaVideoDisplayTSurfaceId, aSurfaceId );
msg->SetTObjectValueL<TRect>( KMPXMediaVideoDisplayCropRect, aCropRect );
msg->SetTObjectValueL<TVideoAspectRatio>( KMPXMediaVideoDisplayAspectRatio, aAspectRatio );
- iVideoPlaybackController->iMPXPluginObs->HandlePlaybackSyncMessage( *msg );
+ iVideoPlaybackController->iMPXPluginObs->HandlePlaybackMessage( *msg );
CleanupStack::PopAndDestroy( msg );
}
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/conf/videohelixtest.cfg Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/conf/videohelixtest.cfg Tue Apr 27 16:40:33 2010 +0300
@@ -821,22 +821,7 @@
[Endtest]
[Test]
-title 54. HDMI Tv-Out - Unprotected Content
-create videohelixtest test
-test Initialize 60000 10 vhpp_test.3gp KErrNone KErrNone KErrNone
-waittestclass test
-pause 100
-test ConnectHDMITvOut
-waittestclass test
-test DisconnectHDMITvOut
-waittestclass test
-delete test
-pause 1000
-[Endtest]
-
-
-[Test]
-title 55. InitialiseWithPositionL with file missing
+title 54. InitialiseWithPositionL with file missing
create videohelixtest test
test InitializeWithPositionL 0 10 6575 vhpp_nofile.3gp KErrNotFound KErrNone KErrNone
waittestclass test
@@ -847,7 +832,7 @@
[Endtest]
[Test]
-title 56. InitialiseL with 32-bit file handle
+title 55. InitialiseL with 32-bit file handle
create videohelixtest test
test InitializeHandleWithPositionL ERFile 60000 10 6575 vhpp_test.3gp KErrNone KErrNone KErrNone
waittestclass test
@@ -856,7 +841,7 @@
[Endtest]
[Test]
-title 57. Initialise with rtsp link & AP
+title 56. Initialise with rtsp link & AP
create videohelixtest test
test InitializeLinkWithPositionL 0 10 6575 rtsp:\/\/link.3gp KErrNone KErrNone KErrNone
waittestclass test
@@ -865,7 +850,7 @@
[Endtest]
[Test]
-title 58. Play rtsp link (forces buffering state)
+title 57. Play rtsp link (forces buffering state)
create videohelixtest test
test InitializeLinkWithPositionL 0 10 6575 rtsp:\/\/link.3gp KErrNone KErrNone KErrNone
waittestclass test
@@ -876,7 +861,7 @@
[Endtest]
[Test]
-title 59. Initialise with SDP file via 32-bit file handle
+title 58. Initialise with SDP file via 32-bit file handle
create videohelixtest test
test InitializeHandleWithPositionL ERFile 60000 10 6575 sdp_test.sdp KErrNone KErrNone KErrNone
waittestclass test
@@ -885,7 +870,7 @@
[Endtest]
[Test]
-title 60. InitialiseL with 64-bit file handle
+title 59. InitialiseL with 64-bit file handle
create videohelixtest test
test InitializeHandleWithPositionL ERFile64 60000 10 6575 vhpp_test.3gp KErrNone KErrNone KErrNone
waittestclass test
@@ -894,7 +879,7 @@
[Endtest]
[Test]
-title 61. Initialise with SDP file via 64-bit file handle
+title 60. Initialise with SDP file via 64-bit file handle
create videohelixtest test
test InitializeHandleWithPositionL ERFile64 60000 10 6575 sdp_test.sdp KErrNone KErrNone KErrNone
waittestclass test
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoaccessoryobserver_stub.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoaccessoryobserver_stub.h Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 4 %
+// Version : %version: 5 %
@@ -74,7 +74,6 @@
void UpdateTvOutStatusL( TBool aTvOutConnected );
void SetTvOutConnected( TBool aConnected );
void SetTvOutPlaybackAllowed( TBool aAllowed );
- void SetTvOutHDMI( TBool aTvOutHDMI );
private:
@@ -95,7 +94,6 @@
CMPXVideoPlaybackController* iController;
TBool iTvOutConnected;
TBool iTvOutPlaybackAllowed;
- TBool iTvOutHDMI;
};
#endif // MPXVIDEOACCESSORYOBSERVER_H
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoplayerutility_stub.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoplayerutility_stub.h Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 11 %
+// Version : %version: 12 %
#ifndef __MPXVIDEOPLAYERUTILITY__
@@ -170,6 +170,8 @@
TInt iAudioBitRate;
TInt iVideoBitRate;
TInt iVolume;
+ TInt iCreationTime;
+ TInt iModificationTime;
TBool iAudioEnabled;
TBool iSeekable;
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/videohelixtest.h Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/videohelixtest.h Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 12 %
+// Version : %version: 13 %
#ifndef __VHPPTESTCASE_H__
@@ -170,9 +170,6 @@
virtual TInt SetDrmProtectedL( CStifItemParser& aItem );
virtual TInt IssueSeekedToEndCommandL( CStifItemParser& aItem );
virtual TInt HandleVolumeL( CStifItemParser& aItem );
- virtual TInt ConnectHDMITvOutL();
- virtual TInt DisconnectHDMITvOutL();
- virtual TInt SetHDMITvOutConnectedL();
virtual TInt InitializeWithPositionL( CStifItemParser& aItem );
virtual TInt InitializeLinkWithPositionL( CStifItemParser& aItem );
virtual TInt InitializeHandleWithPositionL( CStifItemParser& aItem );
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoaccessoryobserver_stub.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoaccessoryobserver_stub.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 4 %
+// Version : %version: 5 %
//
// INCLUDE FILES
@@ -65,7 +65,6 @@
: iController( aController )
, iTvOutConnected( EFalse )
, iTvOutPlaybackAllowed( ETrue )
- , iTvOutHDMI( EFalse )
{
}
@@ -105,12 +104,6 @@
if ( iTvOutConnected != aTvOutConnected )
{
iTvOutConnected = aTvOutConnected;
-
- if ( iTvOutConnected && iTvOutHDMI)
- {
- // if HDMI playback is always allowed
- iTvOutPlaybackAllowed = ETrue;
- }
iController->HandleTvOutEventL( iTvOutConnected );
}
@@ -141,12 +134,4 @@
return playAllowed;
}
-void CMPXVideoAccessoryObserver::SetTvOutHDMI( TBool aTvOutHDMI )
-{
- MPX_ENTER_EXIT(_L("CMPXVideoAccessoryObserver::SetTvOutHDMI()"),
- _L("aTvOutHDMI = %d"), aTvOutHDMI);
-
- iTvOutHDMI = aTvOutHDMI;
-}
-
// End of File
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoplayerutility_stub.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoplayerutility_stub.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 13 %
+// Version : %version: 15 %
#include <audiopreference.h>
#include <mmf/server/mmffile.h>
@@ -695,6 +695,16 @@
iKeywords = value.AllocL();
}
+ else if ( ! aItem.Compare(_L8("CreationTime")) )
+ {
+ TLex8 lex(value);
+ lex.Val( iCreationTime );
+ }
+ else if ( ! aItem.Compare(_L8("ModificationTime")) )
+ {
+ TLex8 lex(value);
+ lex.Val( iModificationTime );
+ }
HBufC* name = HBufC::NewL( aItem.Length() );
TPtr namePtr( name->Des() );
@@ -743,10 +753,6 @@
return KErrNone;
}
-void CMpxVideoPlayerUtility::SurfaceRemovedFromView()
-{
-}
-
#endif
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/videohelixtestbody.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/videohelixtestbody.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 18 %
+// Version : %version: 19 %
// [INCLUDE FILES] - do not remove
@@ -116,9 +116,6 @@
ENTRY( "SetDrmProtected", CVHPPTestClass::SetDrmProtectedL ),
ENTRY( "IssueSeekedToEndCommand", CVHPPTestClass::IssueSeekedToEndCommandL),
ENTRY( "HandleVolume", CVHPPTestClass::HandleVolumeL ),
- ENTRY( "ConnectHDMITvOut", CVHPPTestClass::ConnectHDMITvOutL ),
- ENTRY( "DisconnectHDMITvOut", CVHPPTestClass::DisconnectHDMITvOutL ),
- ENTRY( "SetHDMITvOutConnected", CVHPPTestClass::SetHDMITvOutConnectedL ),
ENTRY ("InitializeWithPositionL", CVHPPTestClass::InitializeWithPositionL),
ENTRY ("InitializeLinkWithPositionL", CVHPPTestClass::InitializeLinkWithPositionL),
@@ -2171,66 +2168,6 @@
return err;
}
-TInt
-CVHPPTestClass::ConnectHDMITvOutL( )
-{
- MPX_ENTER_EXIT(_L("CVHPPTestClass::ConnectHDMITvOutL()"));
- iLog->Log(_L("CVHPPTestClass::ConnectHDMITvOutL()"));
-
- // Connect HDMI TV Out
- iAccObserver->SetTvOutHDMI( ETrue );
-
- //
- // Add event for callback
- //
- TCallbackEvent* event = new TCallbackEvent;
-
- event->iEvent = EPbCmdTvOutEvent;
- event->iData = ETrue;
- event->iError = ETrue;
-
- AddExpectedEvent( event );
-
- iAccObserver->UpdateTvOutStatusL( ETrue );
-
- return KErrNone;
-}
-
-TInt
-CVHPPTestClass::DisconnectHDMITvOutL()
-{
- MPX_ENTER_EXIT(_L("CVHPPTestClass::DisconnectHDMITvOutL()"));
- iLog->Log(_L("CVHPPTestClass::DisconnectHDMITvOutL()"));
-
- // Connect HDMI TV Out
- iAccObserver->SetTvOutHDMI( EFalse );
-
- //
- // Add event for callback
- //
- TCallbackEvent* event = new TCallbackEvent;
-
- event->iEvent = EPbCmdTvOutEvent;
- event->iData = EFalse;
- event->iError = ETrue;
-
- AddExpectedEvent( event );
-
- iAccObserver->UpdateTvOutStatusL( EFalse );
-
- return KErrNone;
-}
-
-TInt
-CVHPPTestClass::SetHDMITvOutConnectedL()
-{
- MPX_ENTER_EXIT(_L("CVHPPTestClass::SetHDMITvOutConnectedL()"));
- iLog->Log(_L("CVHPPTestClass::SetHDMITvOutConnectedL()"));
-
- iAccObserver->SetTvOutHDMI( ETrue );
-
- return KErrNone;
-}
TInt
CVHPPTestClass::InitializeWithPositionL( CStifItemParser& aItem )
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: e003sa33#17 %
+// Version : %version: 18 %
@@ -395,7 +395,7 @@
iFeedback->InstantFeedback( ETouchFeedbackBasicButton );
#else
iFeedback->InstantFeedback( ETouchFeedbackBasic );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
@@ -434,7 +434,7 @@
iFeedback->InstantFeedback( ETouchFeedbackBasicButton );
#else
iFeedback->InstantFeedback( ETouchFeedbackBasic );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
iController->HandleCommandL( EMPXPbvCmdPause );
@@ -453,7 +453,7 @@
iFeedback->InstantFeedback( ETouchFeedbackBasicButton );
#else
iFeedback->InstantFeedback( ETouchFeedbackBasic );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
iController->HandleCommandL( EMPXPbvCmdPlay );
@@ -485,7 +485,7 @@
iFeedback->InstantFeedback( ETouchFeedbackBasicButton );
#else
iFeedback->InstantFeedback( ETouchFeedbackBasic );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
@@ -534,7 +534,7 @@
iFeedback->InstantFeedback( ETouchFeedbackBasicButton );
#else
iFeedback->InstantFeedback( ETouchFeedbackSensitive );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
@@ -686,6 +686,8 @@
//
void CMPXVideoPlaybackButtonBar::Reset()
{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackButtonBar::Reset()"));
+
if ( iSeeking )
{
// Abandon the ongoing seek operation
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrol.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrol.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: e003sa33#20 %
+// Version : %version: 21 %
// INCLUDE FILES
@@ -202,7 +202,8 @@
//
void CMPXVideoPlaybackControl::HandlePointerEventL( const TPointerEvent& aPointerEvent )
{
- MPX_DEBUG(_L("CMPXVideoPlaybackControl::HandlePointerEventL()"));
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackControl::HandlePointerEventL()"),
+ _L("iControlIndex = %d"), iControlIndex );
iController->iContainer->UserInputHandler()->ProcessPointerEventL( this,
aPointerEvent,
@@ -215,10 +216,31 @@
//
EXPORT_C void CMPXVideoPlaybackControl::DoHandlePointerEventL( const TPointerEvent& aPointerEvent)
{
- MPX_DEBUG(_L("CMPXVideoPlaybackControl::DoHandlePointerEventL()"));
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackControl::DoHandlePointerEventL()"),
+ _L(" iControlIndex = %d, aPointerEvent.iType = %d"),
+ iControlIndex, aPointerEvent.iType );
if ( AknLayoutUtils::PenEnabled() )
{
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+ {
+ iController->ResetDisappearingTimers( EMPXTimerCancel );
+
+ //
+ // Grab the pointer event for all controls so the events will not transfer to a
+ // different control as a dragging event occurs
+ //
+ SetPointerCapture( ETrue );
+ ClaimPointerGrab( ETrue );
+ }
+ else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
+ {
+ iController->ResetDisappearingTimers( EMPXTimerReset );
+
+ SetPointerCapture( EFalse );
+ ClaimPointerGrab( EFalse );
+ }
+
switch( iControlIndex )
{
case EMPXProgressBar:
@@ -227,21 +249,6 @@
case EMPXAspectRatioIcon:
case EMPXMediaDetailsViewer:
{
- if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
- {
- iController->ResetDisappearingTimers( EMPXTimerCancel );
-
- iControl->SetPointerCapture( ETrue );
- iControl->ClaimPointerGrab( ETrue );
- }
- else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
- {
- iController->ResetDisappearingTimers( EMPXTimerReset );
-
- iControl->SetPointerCapture( EFalse );
- iControl->ClaimPointerGrab( EFalse );
- }
-
//
// Pass an event to controller
//
@@ -562,9 +569,9 @@
{
MPX_DEBUG(_L("CMPXVideoPlaybackControlsController::ResetControl()"));
- iControl->SetPointerCapture( EFalse );
- iControl->ClaimPointerGrab( EFalse );
-
+ SetPointerCapture( EFalse );
+ ClaimPointerGrab( EFalse );
+
switch( iControlIndex )
{
case EMPXButtonBar:
@@ -582,9 +589,6 @@
static_cast<CMPXVideoPlaybackVolumeBar*>(iControl)->Reset();
break;
}
- case EMPXAspectRatioIcon:
- default:
- break;
}
}
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolconfiguration.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolconfiguration.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: e003sa33#13 %
+// Version : %version: e003sa33#14 %
// INCLUDE FILES
@@ -200,9 +200,7 @@
iTitleArtistIndicatorsAdded = EFalse;
}
- if ( ! iAspectRatioIconAdded &&
- iControlsController->FileDetails()->iVideoHeight > 0 &&
- iControlsController->FileDetails()->iVideoWidth > 0 )
+ if ( ! iAspectRatioIconAdded && iControlsController->ShowAspectRatioIcon() )
{
iControlsList.AppendL( EMPXAspectRatioIcon );
iAspectRatioIconAdded = ETrue;
@@ -291,16 +289,7 @@
iTitleArtistIndicatorsAdded = EFalse;
}
- //
- // If video is enabled,
- // if video has not same aspect ratio with phone screenadd then
- // add aspect ratio icon
- //
- if ( ! iAspectRatioIconAdded &&
- fileDetails->iVideoHeight > 0 &&
- fileDetails->iVideoWidth > 0 &&
- ! ( iControlsController->IsSameAspectRatio() ) &&
- AknLayoutUtils::PenEnabled() )
+ if ( ! iAspectRatioIconAdded && iControlsController->ShowAspectRatioIcon() )
{
iControlsList.AppendL( EMPXAspectRatioIcon );
iAspectRatioIconAdded = ETrue;
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 32 %
+// Version : %version: e003sa33#36 %
// INCLUDE FILES
@@ -160,7 +160,7 @@
//
EXPORT_C CMPXVideoPlaybackControlsController::~CMPXVideoPlaybackControlsController()
{
- MPX_DEBUG(_L("CMPXVideoPlaybackControlsController::~CMPXVideoPlaybackControlsController"));
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackControlsController::~CMPXVideoPlaybackControlsController"));
iFs.Close();
@@ -374,11 +374,18 @@
{
iSurfaceCreated = ETrue;
SetRealOneBitmapVisibility( EFalse );
+ RedrawControlsForSurfaceChanges();
break;
}
case EMPXControlCmdSurfaceRemoved:
{
iSurfaceCreated = EFalse;
+ RedrawControlsForSurfaceChanges();
+ break;
+ }
+ case EMPXControlCmdLoadingStarted:
+ {
+ HandleLoadingStarted();
break;
}
}
@@ -1938,33 +1945,70 @@
}
// -------------------------------------------------------------------------------------------------
-// CMPXVideoPlaybackControlsController::IsSameAspectRatio
+// CMPXVideoPlaybackControlsController::ShowAspectRatioIcon
// -------------------------------------------------------------------------------------------------
//
-TBool CMPXVideoPlaybackControlsController::IsSameAspectRatio()
+TBool CMPXVideoPlaybackControlsController::ShowAspectRatioIcon()
{
- MPX_ENTER_EXIT( _L( "CMPXVideoPlaybackControlsController::IsSameAspectRatio()" ) );
-
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackControlsController::ShowAspectRatioIcon()"));
+
TBool retVal = EFalse;
if ( iFileDetails->iVideoEnabled &&
iFileDetails->iVideoHeight > 0 &&
- iFileDetails->iVideoWidth > 0 )
+ iFileDetails->iVideoWidth > 0 &&
+ AknLayoutUtils::PenEnabled() )
{
TRect displayRect = iContainer->Rect();
TReal displayAspectRatio = ( TReal32 )displayRect.Width() / ( TReal32 )displayRect.Height();
- TReal videoAspectRatio = ( TReal32 )iFileDetails->iVideoWidth /
+ TReal videoAspectRatio = ( TReal32 )iFileDetails->iVideoWidth /
( TReal32 )iFileDetails->iVideoHeight;
- if ( displayAspectRatio == videoAspectRatio )
+ // If clip's AR is as same as screen display AR, AspectRatioIcon does not display.
+ if ( displayAspectRatio != videoAspectRatio )
{
retVal = ETrue;
}
}
- MPX_DEBUG( _L( "CMPXVideoPlaybackControlsController::IsSameAspectRatio(%d)" ), retVal );
-
+ MPX_DEBUG( _L( "CMPXVideoPlaybackControlsController::ShowAspectRatioIcon()[%d]" ), retVal );
+
return retVal;
}
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackControlsController::HandleLoadingStarted
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPlaybackControlsController::HandleLoadingStarted()
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackControlsController::HandleLoadingStarted()"));
+
+ if ( iState != EPbStateBuffering )
+ {
+ iState = EPbStateBuffering;
+ UpdateStateOnButtonBar();
+ UpdateControlsVisibility();
+ }
+}
+
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackControlsController::RedrawControlsForSurfaceChanges
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPlaybackControlsController::RedrawControlsForSurfaceChanges()
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackControlsController::RedrawControlsForSurfaceChanges()"));
+
+ //
+ // A surface has been added or removed.
+ // If the controls are visible, redraw them with the new transparency value.
+ //
+ if ( IsVisible() )
+ {
+ UpdateControlsVisibility();
+ }
+}
+
+
// End of File
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: e003sa33#20 %
+// Version : %version: 21 %
// INCLUDE FILES
@@ -86,7 +86,6 @@
iMinSecFormatString = iEikonEnv->AllocReadResourceL(R_QTN_TIME_DURAT_MIN_SEC);
iHourMinSecFormatString = iEikonEnv->AllocReadResourceL(R_QTN_TIME_DURAT_LONG);
-
#ifdef RD_TACTILE_FEEDBACK
iFeedback = MTouchFeedback::Instance();
#endif //RD_TACTILE_FEEDBACK
@@ -182,9 +181,9 @@
}
#ifdef RD_TACTILE_FEEDBACK
- if (iFeedback)
+ if ( iFeedback )
{
- iFeedback->RemoveFeedbackForControl(this);
+ iFeedback->RemoveFeedbackForControl( this );
}
#endif //RD_TACTILE_FEEDBACK
@@ -217,7 +216,6 @@
//
// Calculate icon rects
//
-
TRect progressRect = Rect();
TInt topMarginHeight = ( progressRect.iBr.iY - KMPXProgressBarHeight ) / 2 - 10;
progressRect.iTl.iY += topMarginHeight;
@@ -284,6 +282,7 @@
delete iFrameIcon;
iFrameIcon = NULL;
+
iFrameIcon = AknsUtils::CreateGulIconL(
skin,
KAknsIIDQgnGrafMup2BarFrame,
@@ -300,6 +299,7 @@
delete iPlaybackIcon;
iPlaybackIcon = NULL;
+
iPlaybackIcon = AknsUtils::CreateGulIconL(
skin,
KAknsIIDQgnGrafMup2BarProgress2,
@@ -374,7 +374,7 @@
_L("ratio = %f"), aRatio );
iPointerEventStarted = ETrue;
- iWasPlaying = iController->State() == EPbStatePlaying? ETrue:EFalse;
+ iWasPlaying = iController->State() == EPbStatePlaying ? ETrue : EFalse;
if ( iWasPlaying )
{
@@ -388,7 +388,7 @@
iFeedback->InstantFeedback( ETouchFeedbackSlider );
#else
iFeedback->InstantFeedback( ETouchFeedbackBasic );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
@@ -421,7 +421,7 @@
iFeedback->InstantFeedback( ETouchFeedbackSlider );
#else
iFeedback->InstantFeedback( ETouchFeedbackSensitive );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
@@ -502,9 +502,11 @@
}
else
{
- // draw a solid background so that the entire progress
- // bar is shown not just the area representing the
- // portion that has been played.
+ //
+ // draw a solid background so that the entire progress
+ // bar is shown not just the area representing the
+ // portion that has been played.
+ //
gc.SetBrushColor( KRgbBlack );
gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
gc.DrawRect( aRect );
@@ -630,7 +632,8 @@
//
void CMPXVideoPlaybackProgressBar::PositionChangedL( TInt aPosition, TBool aUserChanged )
{
- MPX_DEBUG(_L("CMPXVideoPlaybackProgressBar::PositionChangedL() [%d]"), aPosition );
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackProgressBar::PositionChangedL()"),
+ _L("aPosition = %d, aUserChanged = %d"), aPosition, aUserChanged );
//
// We will ignore position information which engine sent
@@ -722,7 +725,8 @@
//
void CMPXVideoPlaybackProgressBar::SetTextLWithReadableTimeL( TInt aTime, CEikLabel* aLabel )
{
- MPX_DEBUG(_L("CMPXVideoPlaybackProgressBar::SetTextLWithReadableTimeL() [%d]"), aTime);
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackProgressBar::SetTextLWithReadableTimeL()"),
+ _L("aTime = %d"), aTime );
TBuf<16> text;
@@ -768,6 +772,7 @@
{
delete iDownloadIcon;
iDownloadIcon = NULL;
+
iDownloadIcon = AknsUtils::CreateGulIconL(
skin,
KAknsIIDQgnGrafMup2BarProgress,
@@ -796,6 +801,7 @@
{
delete iSliderIcon;
iSliderIcon = NULL;
+
iSliderIcon = AknsUtils::CreateGulIconL(
skin,
KAknsIIDQgnGrafNsliderMarker,
@@ -805,6 +811,7 @@
delete iSelectedSliderIcon;
iSelectedSliderIcon = NULL;
+
iSelectedSliderIcon = AknsUtils::CreateGulIconL(
skin,
KAknsIIDQgnGrafNsliderMarkerSelected,
@@ -856,6 +863,8 @@
//
void CMPXVideoPlaybackProgressBar::Reset()
{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackProgressBar::Reset()"));
+
if ( iPointerEventStarted || iDragging )
{
TPointerEvent event;
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: e003sa33#20 %
+// Version : %version: 21 %
// INCLUDE FILES
@@ -481,30 +481,30 @@
switch ( aPointerEvent.iType )
{
- case TPointerEvent::EButtonRepeat:
- {
-#ifdef RD_TACTILE_FEEDBACK
- if ( iFeedback )
- {
+ case TPointerEvent::EButtonRepeat:
+ {
+#ifdef RD_TACTILE_FEEDBACK
+ if ( iFeedback )
+ {
#ifdef SYMBIAN_BUILD_GCE
iFeedback->InstantFeedback( ETouchFeedbackSlider );
#else
iFeedback->InstantFeedback( ETouchFeedbackSensitive );
-#endif //SYMBIAN_BUILD_GCE
- }
-#endif //RD_TACTILE_FEEDBACK
+#endif //SYMBIAN_BUILD_GCE
+ }
+#endif //RD_TACTILE_FEEDBACK
iController->HandleCommandL( EMPXPbvCmdIncreaseVolume );
iDragging = EVolumeIncreaseDragging;
-
- }
- case TPointerEvent::EButton1Down:
- {
- Window().RequestPointerRepeatEvent(
- TTimeIntervalMicroSeconds32(KMPXPtrEventRepeatRequestTime)
- ,iVolumeUpControlRect);
+
+ }
+ case TPointerEvent::EButton1Down:
+ {
+ Window().RequestPointerRepeatEvent(
+ TTimeIntervalMicroSeconds32(KMPXPtrEventRepeatRequestTime)
+ ,iVolumeUpControlRect);
break;
- }
+ }
case TPointerEvent::EDrag:
{
iDragging = EVolumeIncreaseDragging;
@@ -520,7 +520,7 @@
iFeedback->InstantFeedback( ETouchFeedbackSlider );
#else
iFeedback->InstantFeedback( ETouchFeedbackBasic );
-#endif //SYMBIAN_BUILD_GCE
+#endif //SYMBIAN_BUILD_GCE
}
#endif //RD_TACTILE_FEEDBACK
@@ -543,30 +543,30 @@
switch ( aPointerEvent.iType )
{
- case TPointerEvent::EButtonRepeat:
- {
-#ifdef RD_TACTILE_FEEDBACK
- if ( iFeedback )
- {
+ case TPointerEvent::EButtonRepeat:
+ {
+#ifdef RD_TACTILE_FEEDBACK
+ if ( iFeedback )
+ {
#ifdef SYMBIAN_BUILD_GCE
iFeedback->InstantFeedback( ETouchFeedbackSlider );
#else
- iFeedback->InstantFeedback( ETouchFeedbackSensitive );
-#endif //SYMBIAN_BUILD_GCE
- }
-#endif //RD_TACTILE_FEEDBACK
+ iFeedback->InstantFeedback( ETouchFeedbackSensitive );
+#endif //SYMBIAN_BUILD_GCE
+ }
+#endif //RD_TACTILE_FEEDBACK
iController->HandleCommandL( EMPXPbvCmdDecreaseVolume );
iDragging = EVolumeDecreaseDragging;
-
- }
- case TPointerEvent::EButton1Down:
- {
- Window().RequestPointerRepeatEvent(
- TTimeIntervalMicroSeconds32(KMPXPtrEventRepeatRequestTime)
- ,iVolumeDownControlRect);
+
+ }
+ case TPointerEvent::EButton1Down:
+ {
+ Window().RequestPointerRepeatEvent(
+ TTimeIntervalMicroSeconds32(KMPXPtrEventRepeatRequestTime)
+ ,iVolumeDownControlRect);
break;
- }
+ }
case TPointerEvent::EDrag:
{
iDragging = EVolumeDecreaseDragging;
@@ -577,7 +577,7 @@
#ifdef RD_TACTILE_FEEDBACK
if ( iFeedback )
{
-#ifdef SYMBIAN_BUILD_GCE
+#ifdef SYMBIAN_BUILD_GCE
iFeedback->InstantFeedback( ETouchFeedbackSlider );
#else
iFeedback->InstantFeedback( ETouchFeedbackBasic );
@@ -701,7 +701,7 @@
#ifdef RD_TACTILE_FEEDBACK
if ( iFeedback )
{
-#ifdef SYMBIAN_BUILD_GCE
+#ifdef SYMBIAN_BUILD_GCE
iFeedback->InstantFeedback( ETouchFeedbackSlider );
#else
iFeedback->InstantFeedback( ETouchFeedbackSensitive );
@@ -727,7 +727,7 @@
{
//
// volume & mute levels are kept track in playbackplugin.
- //
+ //
iController->HandleCommandL( EMPXPbvCmdMute );
}
@@ -1000,14 +1000,14 @@
//
void CMPXVideoPlaybackVolumeBar::Reset()
{
- MPX_DEBUG(_L("CMPXVideoPlaybackVolumeBar::Reset()"));
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackVolumeBar::Reset()"));
if ( iDragging != EVolumeNotDragging )
{
TPointerEvent event;
event.iType = TPointerEvent::EButton1Up;
event.iPosition.iY = ( iSliderRect.iTl.iY + iSliderRect.iBr.iY ) / 2;
-
+
MPX_TRAPD( err, HandlePointerEventL(event) );
}
}
@@ -1018,8 +1018,9 @@
//
void CMPXVideoPlaybackVolumeBar::SetVolumeL( TInt aVolume )
{
- MPX_DEBUG(_L("CMPXVideoPlaybackVolumeBar::SetVolumeL(%d)"), aVolume);
-
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackVolumeBar::SetVolumeL()"),
+ _L("aVolume = %d"), aVolume );
+
iController->HandleCommandL( EMPXPbvCmdSetVolume, aVolume );
}
--- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg Tue Apr 27 16:40:33 2010 +0300
@@ -164,7 +164,7 @@
[Endtest]
[Test]
-title [6]Set volume to 20
+title [6]Set volume to 25
bringtoforeground
create ui_videoplaybackcontrolstest ControlsTest
ControlsTest CreateControls test.3gp EMPXVideoLocal
@@ -182,7 +182,7 @@
pause 100
ControlsTest PointerEvent eventtype=EButton1Up x=75 y=198
pause 100
-ControlsTest ExpectedResult EMPXPbvCmdSetVolume 20
+ControlsTest ExpectedResult EMPXPbvCmdSetVolume 25
pause 100
ControlsTest DeleteControls
delete ControlsTest
--- a/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: e003sa33#71 %
+// Version : %version: 75 %
// Include Files
@@ -51,6 +51,7 @@
#include <mpxcollectionplaylist.h>
#include <mpxcollectionpath.h>
#include <mpxmediageneralextdefs.h>
+#include <vcxmyvideosuids.h>
#include <drmuihandling.h>
#include <drmerrorhandling.h>
@@ -107,6 +108,7 @@
//
// Get an instance of collection utility
+ // Used for the Collection Observer to get the MediaL callbacks
//
iCollectionUtility = MMPXCollectionUtility::NewL( this );
@@ -128,12 +130,6 @@
{
MPX_DEBUG(_L("CMPXVideoBasePlaybackView::~CMPXVideoBasePlaybackView()"));
- if ( iClipName )
- {
- delete iClipName;
- iClipName = NULL;
- }
-
if ( iCloseAO )
{
delete iCloseAO;
@@ -232,12 +228,6 @@
case EMPXPbvCmdClose:
{
MPX_DEBUG(_L("CMPXVideoBasePlaybackView::HandleCommandL() EMPXPbvCmdClose"));
-
- //
- // The display window must be removed before closing the playback plugin
- //
- RemoveBackgroundSurfaceL();
-
CreateGeneralPlaybackCommandL( EPbCmdClose );
break;
}
@@ -542,12 +532,6 @@
iMediaRequested = EFalse;
iPlaybackState = EPbStateNotInitialised;
-
- if ( iClipName )
- {
- delete iClipName;
- iClipName = NULL;
- }
}
// -------------------------------------------------------------------------------------------------
@@ -615,12 +599,13 @@
//
// This view is active since we are receiving the callback.
- // Some new view is being activated so stop playback and return to automatic orientation
+ // Some new view is being activated so remove surface, stop playback and
+ // return to automatic orientation
//
- TRAP_IGNORE(
- HandleCommandL( EMPXPbvCmdStop );
- AppUi()->SetOrientationL( CAknAppUiBase::EAppUiOrientationAutomatic );
- );
+ iDisplayHandler->RemoveDisplayWindow();
+
+ TRAP_IGNORE( HandleCommandL( EMPXPbvCmdStop );
+ AppUi()->SetOrientationL( CAknAppUiBase::EAppUiOrientationAutomatic ) );
}
// -------------------------------------------------------------------------------------------------
@@ -644,6 +629,37 @@
}
// -------------------------------------------------------------------------------------------------
+// CMPXVideoBasePlaybackView::IsInMemoryPlugin
+// -------------------------------------------------------------------------------------------------
+//
+TBool CMPXVideoBasePlaybackView::IsInMemoryPlugin()
+{
+ TBool retVal( EFalse );
+
+ MMPXCollection& collectionPlugin = iCollectionUtility->Collection();
+
+ TUid collectionUid;
+ TUid inMemoryPluginUid = TUid::Uid( KMpxInMemoryPluginUid );
+
+ MPX_TRAPD( error, collectionUid = collectionPlugin.UidL() );
+
+ if ( ! error )
+ {
+ MPX_DEBUG(_L("CMPXVideoBasePlaybackView::IsInMemoryPlugin() collectionUid = 0x%08x"),
+ collectionUid.iUid );
+
+ if ( collectionUid == inMemoryPluginUid )
+ {
+ retVal = ETrue;
+ }
+ }
+
+ MPX_DEBUG(_L("CMPXVideoBasePlaybackView::IsInMemoryPlugin(%d)"), retVal );
+
+ return retVal;
+}
+
+// -------------------------------------------------------------------------------------------------
// Request for the media object
// -------------------------------------------------------------------------------------------------
//
@@ -655,7 +671,7 @@
{
iMediaRequested = ETrue;
- if ( iPlaylistView )
+ if ( iPlaylistView && IsInMemoryPlugin() )
{
// Get the media attributes from the collection plugin
RequestCollectionMediaL();
@@ -734,11 +750,9 @@
CleanupClosePushL(attrs);
// General Media Attributes
- attrs.Append( KMPXMediaGeneralUri );
- attrs.Append( KMPXMediaGeneralExtAccessPoint );
attrs.Append( KMPXMediaGeneralExtVideoSeekable );
- s->MediaL( attrs.Array(), *this);
+ s->MediaL( attrs.Array(), *this );
// Set the falg to indicate that media was reuqested from collection FW
iCollectionMediaRequested = ETrue;
@@ -767,11 +781,11 @@
{
HandleVideoPlaybackMessage( aMessage );
}
- else if ( KMPXMediaIdVideoDisplaySyncMessage == id )
+ else if ( KMPXMediaIdVideoDisplayMessage == id )
{
if ( iDisplayHandler )
{
- iDisplayHandler->HandleVideoDisplaySyncMessageL( aMessage );
+ iDisplayHandler->HandleVideoDisplayMessageL( aMessage );
}
}
}
@@ -868,6 +882,23 @@
}
break;
}
+ case EPbCmdLoadingStarted:
+ {
+ if ( iContainer )
+ {
+ MPX_TRAPD( err, iContainer->HandleEventL( EMPXControlCmdLoadingStarted ) );
+ }
+
+ break;
+ }
+ case EPbCmdHideControls:
+ {
+ if ( iContainer )
+ {
+ MPX_TRAPD( err, iContainer->HandleEventL( EMPXControlCmdHideControls ) );
+ }
+ break;
+ }
}
}
@@ -879,13 +910,10 @@
{
MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::HandleClosePlaybackViewL()"));
- // Reset the playback state to stopped
iPlaybackState = EPbStateStopped;
-
+
if ( IsMultiItemPlaylist() )
{
- RemoveBackgroundSurfaceL();
-
iPlaybackUtility->CommandL( EPbCmdNext );
}
else
@@ -986,34 +1014,7 @@
{
case EPbStateInitialising:
{
- //
- // For multi item playlists, reset the container and controls for next
- // item in playlist
- //
- if ( IsMultiItemPlaylist() && iContainer )
- {
- //
- // If transitioning from Not Initialized to Initialising there is
- // no need to update the playback information that was gathered
- // when the container was created
- //
- if ( oldState != EPbStateNotInitialised )
- {
- iMediaRequested = EFalse;
-
- iContainer->HandleCommandL( EMPXPbvCmdResetControls );
-
- if ( iFileDetails )
- {
- if ( iFileDetailsDialog )
- {
- iFileDetailsDialog->Close();
- }
-
- iFileDetails->ClearFileDetails();
- }
- }
- }
+ HandleInitializingStateL( oldState );
break;
}
case EPbStateBuffering:
@@ -1293,6 +1294,13 @@
iContainer->HandleEventL( EMPXControlCmdSetAspectRatio, newAspectRatio );
}
+ else
+ {
+ //
+ // Remove the display window so the surface can be released
+ //
+ iDisplayHandler->RemoveDisplayWindow();
+ }
//
// Delay the play command while the Real One Bitmap is being shown
@@ -1314,7 +1322,8 @@
//
void CMPXVideoBasePlaybackView::UpdatePbPluginMediaL( TBool aSeek)
{
- MPX_DEBUG(_L("CMPXVideoBasePlaybackView::UpdatePbPluginMediaL() iSeekable %d"), aSeek);
+ MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::UpdatePbPluginMediaL()"),
+ _L("aSeek = %d"), aSeek );
CMPXCommand* cmd = CMPXCommand::NewL();
CleanupStack::PushL( cmd );
@@ -1323,7 +1332,8 @@
cmd->SetTObjectValueL<TInt>( KMPXCommandGeneralId, KMPXMediaIdVideoPlayback );
- cmd->SetTObjectValueL<TMPXVideoPlaybackCommand>( KMPXMediaVideoPlaybackCommand, EPbCmdUpdateSeekable );
+ cmd->SetTObjectValueL<TMPXVideoPlaybackCommand>( KMPXMediaVideoPlaybackCommand,
+ EPbCmdUpdateSeekable );
cmd->SetTObjectValueL<TBool>( KMPXMediaGeneralExtVideoSeekable, aSeek );
@@ -1351,20 +1361,6 @@
{
seek = aMedia.ValueTObjectL<TBool>( KMPXMediaGeneralExtVideoSeekable );
UpdatePbPluginMediaL( seek );
- MPX_DEBUG(_L("CMPXVideoBasePlaybackView::HandleMediaL() called UpdatePbPluginMediaL iSeekable %d"), seek);
- }
-
- if ( aMedia.IsSupported( KMPXMediaGeneralUri ) )
- {
- TPtrC uri( aMedia.ValueText( KMPXMediaGeneralUri ) );
-
- if ( iClipName )
- {
- delete iClipName;
- iClipName = NULL;
- }
-
- iClipName = uri.AllocL();
}
// request for media from playbackplugin
@@ -1978,12 +1974,11 @@
TInt openError = KErrNotFound;
RFs& fs = iCoeEnv->FsSession();
- if ( iPlaylistView )
+ if ( iPlaylistView && iFileDetails->iClipName )
{
- //
- // Use iClipName from the MediaL() call
- //
- openError = aFile.Open( fs, iClipName->Des(), EFileRead | EFileShareReadersOrWriters );
+ openError = aFile.Open( fs,
+ iFileDetails->iClipName->Des(),
+ EFileRead | EFileShareReadersOrWriters );
}
else
{
@@ -2115,12 +2110,11 @@
TInt openError = KErrNotFound;
RFs& fs = iCoeEnv->FsSession();
- if ( iPlaylistView )
+ if ( iPlaylistView && iFileDetails->iClipName )
{
- //
- // Use iClipName from the MediaL() call
- //
- openError = aFile.Open( fs, iClipName->Des(), EFileRead | EFileShareReadersOrWriters );
+ openError = aFile.Open( fs,
+ iFileDetails->iClipName->Des(),
+ EFileRead | EFileShareReadersOrWriters );
}
else
{
@@ -2160,23 +2154,6 @@
#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
// -------------------------------------------------------------------------------------------------
-// CMPXVideoBasePlaybackView::RemoveBackgroundSurfaceL()
-// -------------------------------------------------------------------------------------------------
-//
-void CMPXVideoBasePlaybackView::RemoveBackgroundSurfaceL()
-{
- MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::RemoveBackgroundSurfaceL()"));
-
- if ( iDisplayHandler )
- {
- //
- // Remove the display window so the surface can be released
- //
- iDisplayHandler->RemoveDisplayWindow();
- }
-}
-
-// -------------------------------------------------------------------------------------------------
// CMPXVideoBasePlaybackView::HandleRealOneBitmapTimeoutL()
// -------------------------------------------------------------------------------------------------
//
@@ -2221,7 +2198,7 @@
//
if ( ! iKeyboardInFocus && aEvent.Type() == EEventWindowVisibilityChanged )
{
- MPX_DEBUG(_L("CMpxVideoPlayerAppUi::HandleWsEventL() EEventWindowVisibilityChanged"));
+ MPX_DEBUG(_L("CMPXVideoBasePlaybackView::HandleWsEventL() EEventWindowVisibilityChanged"));
TUint visible = aEvent.VisibilityChanged()->iFlags;
@@ -2239,7 +2216,7 @@
//
void CMPXVideoBasePlaybackView::SendWindowCommandL( TMPXVideoPlaybackCommand aCmd )
{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUi::SendWindowCommandL()"),
+ MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::SendWindowCommandL()"),
_L("aCmd = %d"), aCmd );
//
@@ -2257,4 +2234,39 @@
CleanupStack::PopAndDestroy( cmd );
}
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoBasePlaybackView::DoHandleInitializingStateL()
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoBasePlaybackView::DoHandleInitializingStateL( TMPXPlaybackState aLastState )
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::DoHandleInitializingStateL()"),
+ _L("aLastState = %d"), aLastState );
+
+ if ( iContainer )
+ {
+ //
+ // If transitioning from Not Initialized to Initialising there is
+ // no need to update the playback information that was gathered
+ // when the container was created
+ //
+ if ( aLastState != EPbStateNotInitialised )
+ {
+ iMediaRequested = EFalse;
+
+ iContainer->HandleCommandL( EMPXPbvCmdResetControls );
+
+ if ( iFileDetails )
+ {
+ if ( iFileDetailsDialog )
+ {
+ iFileDetailsDialog->Close();
+ }
+
+ iFileDetails->ClearFileDetails();
+ }
+ }
+ }
+}
+
// EOF
--- a/videoplayback/videoplaybackviews/src/mpxvideopdlplaybackview.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackviews/src/mpxvideopdlplaybackview.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 23 %
+// Version : %version: 24 %
// Include Files
@@ -436,4 +436,19 @@
ClosePlaybackViewL();
}
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPdlPlaybackView::HandleInitializingStateL()
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPdlPlaybackView::HandleInitializingStateL( TMPXPlaybackState aLastState )
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoPdlPlaybackView::HandleInitializingStateL()"),
+ _L("aLastState = %d"), aLastState );
+
+ //
+ // For PDL view, reset the container and controls for new download
+ //
+ DoHandleInitializingStateL( aLastState );
+}
+
// EOF
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackcontainer.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackcontainer.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: e003sa33#26 %
+// Version : %version: 27 %
// INCLUDE FILES
@@ -385,13 +385,26 @@
// only if if OK to handle pointer events
// -------------------------------------------------------------------------------------------------
//
-EXPORT_C void CMPXVideoPlaybackContainer::DoHandlePointerEventL( const TPointerEvent& aPointerEvent )
+EXPORT_C
+void CMPXVideoPlaybackContainer::DoHandlePointerEventL( const TPointerEvent& aPointerEvent )
{
- MPX_DEBUG(_L("CMPXVideoPlaybackContainer::DoHandlePointerEventL()"));
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackContainer::DoHandlePointerEventL()"),
+ _L("aPointerEvent.iType = %d"), aPointerEvent.iType );
- if ( AknLayoutUtils::PenEnabled() && aPointerEvent.iType == TPointerEvent::EButton1Up )
+ if ( AknLayoutUtils::PenEnabled() )
{
- iControlsController->HandleEventL( EMPXControlCmdToggleVisibility );
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
+ {
+ iControlsController->HandleEventL( EMPXControlCmdToggleVisibility );
+
+ SetPointerCapture( EFalse );
+ ClaimPointerGrab( EFalse );
+ }
+ else if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+ {
+ SetPointerCapture( ETrue );
+ ClaimPointerGrab( ETrue );
+ }
}
}
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 12 %
+// Version : %version: 14 %
#include <sysutil.h>
@@ -110,35 +110,12 @@
}
// -------------------------------------------------------------------------------------------------
-// CMPXVideoPlaybackDisplayHandler::SignalSurfaceRemovedL()
-// -------------------------------------------------------------------------------------------------
-//
-void CMPXVideoPlaybackDisplayHandler::SignalSurfaceRemovedL()
-{
- MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::SignalSurfaceRemovedL()"));
-
- CMPXCommand* cmd = CMPXCommand::NewL();
- CleanupStack::PushL( cmd );
-
- cmd->SetTObjectValueL<TBool>( KMPXCommandGeneralDoSync, ETrue );
- cmd->SetTObjectValueL<TBool>( KMPXCommandPlaybackGeneralNoBuffer, ETrue );
- cmd->SetTObjectValueL<TInt>( KMPXCommandGeneralId, KMPXMediaIdVideoPlayback );
- cmd->SetTObjectValueL<TMPXVideoPlaybackCommand>( KMPXMediaVideoPlaybackCommand,
- EPbCmdSurfaceRemoved );
-
- iPlaybackUtility->CommandL( *cmd );
-
- CleanupStack::PopAndDestroy( cmd );
-}
-
-// -------------------------------------------------------------------------------------------------
// CMPXVideoPlaybackDisplayHandler::RemoveDisplayWindow()
// -------------------------------------------------------------------------------------------------
//
-void CMPXVideoPlaybackDisplayHandler::RemoveDisplayWindow( TBool aSignalPlaybackPlugin )
+void CMPXVideoPlaybackDisplayHandler::RemoveDisplayWindow()
{
- MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::RemoveDisplayWindow()"),
- _L("aSignalPlaybackPlugin = %d"), aSignalPlaybackPlugin );
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::RemoveDisplayWindow()"));
#ifdef SYMBIAN_BUILD_GCE
if ( iVideoDisplay )
@@ -148,7 +125,7 @@
//
if ( iContainer )
{
- iContainer->HandleCommandL( EMPXPbvSurfaceRemoved );
+ MPX_TRAPD( err, iContainer->HandleCommandL( EMPXPbvSurfaceRemoved ) );
}
delete iVideoDisplay;
@@ -156,28 +133,17 @@
}
#endif
- if ( ! iSurfaceId.IsNull() )
- {
- if ( aSignalPlaybackPlugin )
- {
- //
- // Signal to the Playback Plugin that the surface has been removed
- //
- TRAP_IGNORE( SignalSurfaceRemovedL() );
- }
-
- iSurfaceId = TSurfaceId::CreateNullId();
- }
+ iSurfaceId = TSurfaceId::CreateNullId();
}
// -------------------------------------------------------------------------------------------------
-// CMPXVideoPlaybackDisplayHandler::HandleVideoDisplaySyncMessageL()
+// CMPXVideoPlaybackDisplayHandler::HandleVideoDisplayMessageL()
// -------------------------------------------------------------------------------------------------
//
void
-CMPXVideoPlaybackDisplayHandler::HandleVideoDisplaySyncMessageL( CMPXMessage* aMessage )
+CMPXVideoPlaybackDisplayHandler::HandleVideoDisplayMessageL( CMPXMessage* aMessage )
{
- MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::HandleVideoDisplaySyncMessageL()"));
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::HandleVideoDisplayMessageL()"));
TMPXVideoDisplayCommand message =
( *(aMessage->Value<TMPXVideoDisplayCommand>(KMPXMediaVideoDisplayCommand)) );
@@ -203,19 +169,8 @@
SurfaceRemoved();
break;
}
- case EPbMsgVideoRemoveDisplayWindow:
- {
- MPX_DEBUG(_L(" message = EPbMsgVideoRemoveDisplayWindow"));
- RemoveDisplayWindow( EFalse );
- break;
- }
#endif
}
-
- //
- // Signal Sync Message handling is complete
- //
- iPlaybackUtility->CommandL( EPbCmdSyncMsgComplete );
}
// -------------------------------------------------------------------------------------------------
@@ -573,7 +528,7 @@
{
if ( iContainer )
{
- iContainer->HandleCommandL( EMPXPbvSurfaceRemoved );
+ MPX_TRAPD( err, iContainer->HandleCommandL( EMPXPbvSurfaceRemoved ) );
}
iVideoDisplay->RemoveSurface();
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackuserinputhandler.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackuserinputhandler.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 17 %
+// Version : %version: 18 %
// INCLUDE FILES
@@ -357,7 +357,9 @@
const TPointerEvent& aPointerEvent,
TMPXVideoControlType aMPXControl )
{
- MPX_ENTER_EXIT(_L("CMPXVideoPlaybackUserInputHandler::ProcessPointerEvent()"));
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackUserInputHandler::ProcessPointerEvent()"),
+ _L("iProcessingInputType = %d, aPointerEvent.iType = %d"),
+ iProcessingInputType, aPointerEvent.iType );
switch ( iProcessingInputType )
{
@@ -367,27 +369,82 @@
{
iProcessingInputType = EMpxVideoTouch;
+ //
+ // Save the active controls pointer to reroute invalid pointer events
+ //
+ iActiveControlPtr = aControl;
+ iActiveControlType = aMPXControl;
+
ReRoutePointerEventL( aControl, aPointerEvent, aMPXControl );
}
+
break;
}
case EMpxVideoTouch:
{
- if ( aPointerEvent.iType != TPointerEvent::EButton1Down )
+ if ( aControl == iActiveControlPtr )
{
- ReRoutePointerEventL( aControl, aPointerEvent, aMPXControl );
+ //
+ // Event is from the active control, process pointer event normally
+ //
+ if ( aPointerEvent.iType != TPointerEvent::EButton1Down )
+ {
+ ReRoutePointerEventL( aControl, aPointerEvent, aMPXControl );
- // reset the value only on pointer up event - but not on drag
+ //
+ // reset the value only on pointer up event - but not on drag
+ //
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
+ {
+ iProcessingInputType = EMpxVideoNone;
+ iActiveControlPtr = NULL;
+ }
+ }
+ }
+ else
+ {
+ //
+ // Event is from non active control
+ // This should not happen, but if event is a button up event,
+ // end the current active control pointer processing
+ //
if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
{
+ //
+ // Reroute button up event to active control and end current
+ // control processing
+ //
+ ReRoutePointerEventL( iActiveControlPtr, aPointerEvent, iActiveControlType );
iProcessingInputType = EMpxVideoNone;
+ iActiveControlPtr = NULL;
}
}
+
break;
}
} // switch
}
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackUserInputHandler::ReRoutePointerEventL()
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPlaybackUserInputHandler::ReRoutePointerEventL( CCoeControl* aControl,
+ const TPointerEvent& aPointerEvent,
+ TMPXVideoControlType aMPXControl )
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackUserInputHandler::ReRoutePointerEventL()"),
+ _L("aMPXControl = %d"), aMPXControl );
+
+ if ( aMPXControl == EMpxVideoPlaybackContainer )
+ {
+ iContainer->DoHandlePointerEventL( aPointerEvent );
+ }
+ else if ( aMPXControl == EMpxVideoPlaybackControl )
+ {
+ static_cast<CMPXVideoPlaybackControl*>(aControl)->DoHandlePointerEventL( aPointerEvent );
+ }
+}
// -------------------------------------------------------------------------------------------------
// CMPXVideoPlaybackUserInputHandler::ProcessKeyEvent()
@@ -515,27 +572,6 @@
iContainer->HandleCommandL( command );
}
-
-// -------------------------------------------------------------------------------------------------
-// CMPXVideoPlaybackUserInputHandler::ReRoutePointerEventL()
-// -------------------------------------------------------------------------------------------------
-//
-void CMPXVideoPlaybackUserInputHandler::ReRoutePointerEventL( CCoeControl* aControl,
- const TPointerEvent& aPointerEvent,
- TMPXVideoControlType aMPXControl )
-{
- MPX_ENTER_EXIT(_L("CMPXVideoPlaybackUserInputHandler::ReRoutePointerEventL()"));
-
- if ( aMPXControl == EMpxVideoPlaybackContainer )
- {
- iContainer->DoHandlePointerEventL(aPointerEvent);
- }
- else if ( aMPXControl == EMpxVideoPlaybackControl )
- {
- static_cast<CMPXVideoPlaybackControl*>(aControl)->DoHandlePointerEventL(aPointerEvent);
- }
-}
-
// -------------------------------------------------------------------------------------------------
// CMPXVideoPlaybackUserInputHandler::SetForeground()
// -------------------------------------------------------------------------------------------------
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackview.cpp Wed Apr 14 15:59:50 2010 +0300
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackview.cpp Tue Apr 27 16:40:33 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 18 %
+// Version : %version: 20 %
// Include Files
@@ -224,14 +224,25 @@
{
HandleCommandL( EAknSoftkeyBack );
}
- else if ( iPlaylistView )
+}
+
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackView::HandleInitializingStateL()
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPlaybackView::HandleInitializingStateL( TMPXPlaybackState aLastState )
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackView::HandleInitializingStateL()"),
+ _L("aLastState = %d"), aLastState );
+
+ //
+ // For multi item playlists, reset the container and controls for next
+ // item in playlist
+ //
+ if ( IsMultiItemPlaylist() )
{
- //
- // New item from the playlist clean up the view
- //
- RemoveBackgroundSurfaceL();
+ DoHandleInitializingStateL( aLastState );
}
}
-
// EOF