browserplugins/browseraudiovideoplugin/src/BavpPlugin.cpp
branchRCL_3
changeset 46 4baee4f15982
parent 39 08ffbd51e3fd
--- a/browserplugins/browseraudiovideoplugin/src/BavpPlugin.cpp	Thu Jul 15 18:42:04 2010 +0300
+++ b/browserplugins/browseraudiovideoplugin/src/BavpPlugin.cpp	Thu Aug 19 09:57:56 2010 +0300
@@ -46,7 +46,8 @@
     iMimeType( NULL ), 
     iPauseState ( EFalse ), 
     iIsForeGround ( ETrue ), 
-    iPauseInBackground (EFalse)
+    iPauseInBackground (EFalse),
+    iPlayFromFile(EFalse)
     {
     
     }
@@ -188,6 +189,7 @@
 // -----------------------------------------------------------------------------
 void CBavpPlugin::OpenAndPlayFileL( const TDesC& aFilename, const HBufC* originalFileName )
     {
+    iPlayFromFile = ETrue;
     Log( EFalse, _L("CBavpPlugin::OpenAndPlayFileL"), (TInt)this );
 
     if ( !iBavpView )
@@ -261,6 +263,7 @@
 // -----------------------------------------------------------------------------
 void CBavpPlugin::OpenAndPlayUrlL( const TDesC& aUrl )
     {
+    iPlayFromFile = EFalse;
     Log( EFalse, _L("CBavpPlugin::OpenAndPlayUrlL"), (TInt)this );
 
     if ( iBavpController )
@@ -415,6 +418,19 @@
                 iBavpController->PlayL(); 
                 }
 				break; 
+        case EAccesPointChanged : 
+            if (iBavpController && !iPlayFromFile) {
+                bool state = (iBavpController->State() == EBavpPaused ||
+                              iBavpController->State() == EBavpPlaying ||
+                              iBavpController->State() == EBavpBuffering ||
+                              iBavpController->State() == EBavpFastForwarding ||
+                              iBavpController->State() == EBavpRewinding );
+                iBavpController->Stop();
+                if (state)
+                    iBavpController->PlayL();
+            }
+            break;
+            
         default:
             // Not implemented
             break;