diff -r 05b0d2323768 -r d240f0a77280 mpx/playbackframework/playbackengine/src/mpxplaybackinitializer.cpp --- 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( 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( KMPXMediaGeneralExtAccessPoint ); + MPX_DEBUG2("CMPXPlaybackInitializer::InitL accessPoint %d", accessPoint ); + } + + TInt position = 0; + if (iMedia->IsSupported(KMPXMediaGeneralLastPlaybackPosition)) + { + position = iMedia->ValueTObjectL( 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