mpx/playbackframework/playbackengine/src/mpxplaybackinitializer.cpp
branchRCL_3
changeset 15 d240f0a77280
parent 0 a2952bb97e68
--- a/mpx/playbackframework/playbackengine/src/mpxplaybackinitializer.cpp	Fri Mar 12 15:44:36 2010 +0200
+++ b/mpx/playbackframework/playbackengine/src/mpxplaybackinitializer.cpp	Mon Mar 15 12:42:31 2010 +0200
@@ -424,7 +424,8 @@
         {
         if ( iMedia )
             {
-            iEngine.RestorePlaybackPositionAndStateL( *iMedia );
+            iEngine.RestorePlaybackPositionL( *iMedia );
+            iEngine.RestorePlaybackStateL(); 
             }
         //
         // Set plug-in handler
@@ -620,13 +621,8 @@
                     {
                     iHandler->SelectPlayersL(t);
                     }
-                }
-            TInt accessPoint = 0;
-            if ( aMedia.IsSupported(KMPXMediaGeneralExtAccessPoint) )
-                {
-                accessPoint = aMedia.ValueTObjectL<TInt>( KMPXMediaGeneralExtAccessPoint );
-                MPX_DEBUG2("CMPXPlaybackInitializer::InitL accessPoint %d", accessPoint );
-                }
+                }           
+            
             HBufC8* mimeType =
                     MPXUser::Alloc8L(aMedia.ValueText(KMPXMediaGeneralMimeType));
             CleanupStack::PushL(mimeType);
@@ -635,7 +631,7 @@
             // Plugin handler guarantee to choose a plugin
             // In case there is file open in the audio controller
             iHandler->Plugin()->CommandL(EPbCmdClose);
-            InitL(uri, *mimeType, accessPoint);
+            InitL(uri, *mimeType); 
             CleanupStack::PopAndDestroy(mimeType);
             }
         else  // No URI
@@ -840,7 +836,7 @@
 // Initialize.
 // ----------------------------------------------------------------------------
 //
-void CMPXPlaybackInitializer::InitL(const TDesC& aUri, const TDesC8& aType, TInt aAccessPoint)
+void CMPXPlaybackInitializer::InitL(const TDesC& aUri, const TDesC8& aType ) 
     {
     MPX_FUNC("CMPXPlaybackInitializer::InitL");
     CMPXPlaybackPlugin* p = iHandler->Plugin();
@@ -868,14 +864,29 @@
         
         // if cast was successful, then init streaming with access point
         if (plugin)
-            {
-            if ( aAccessPoint )
+            {            
+            TInt accessPoint = 0;
+            if ( iMedia->IsSupported(KMPXMediaGeneralExtAccessPoint) ) 
                 {
-                plugin->InitStreamingL( aUri, aType, aAccessPoint );
+                accessPoint = iMedia->ValueTObjectL<TInt>( KMPXMediaGeneralExtAccessPoint ); 
+                MPX_DEBUG2("CMPXPlaybackInitializer::InitL accessPoint %d", accessPoint );
+                }            
+            
+            TInt position = 0;            
+            if (iMedia->IsSupported(KMPXMediaGeneralLastPlaybackPosition))
+                {
+                position = iMedia->ValueTObjectL<TInt>( KMPXMediaGeneralLastPlaybackPosition );
+                MPX_DEBUG2("CMPXPlaybackInitializer::InitL position %d", position );
+                }
+            
+                        
+            if ( accessPoint ) 
+                {
+                plugin->InitStreamingL( aUri, aType, accessPoint, position ); 
                 }
             else
                 {
-                plugin->InitialiseL(aUri);
+                plugin->InitialiseWithPositionL(aUri, position); 
                 }
             }
         else