equal
deleted
inserted
replaced
1476 // Check if position is not past the duration |
1476 // Check if position is not past the duration |
1477 if ( iProperties[EPbPropertyPosition] >= iProperties[EPbPropertyDuration] ) |
1477 if ( iProperties[EPbPropertyPosition] >= iProperties[EPbPropertyDuration] ) |
1478 { |
1478 { |
1479 iProperties[EPbPropertyPosition] = 0; |
1479 iProperties[EPbPropertyPosition] = 0; |
1480 } |
1480 } |
|
1481 |
|
1482 //check whether plugin is KMPXPlaybackPluginVersion2, if not, set saved position |
|
1483 CDesCArray* interfaces = iPluginHandler->SupportedInterfacesL( iPluginUid ); |
|
1484 TBool version2InterfaceSupported = EFalse; |
|
1485 if ( interfaces->MdcaCount() ) |
|
1486 { |
|
1487 TInt pos(0); |
|
1488 version2InterfaceSupported = !interfaces->FindIsq( KMPXPlaybackPluginVersion2, pos ); |
|
1489 } |
|
1490 delete interfaces; |
|
1491 |
|
1492 if ( !version2InterfaceSupported ) |
|
1493 { |
|
1494 // Set position to restore saved position. |
|
1495 TRAP_IGNORE( // uPnP leaves if set position in stop state |
|
1496 PluginL()->SetL( EPbPropertyPosition, iProperties[EPbPropertyPosition] )); |
|
1497 } |
1481 |
1498 |
1482 iAutoResumeHandler->HandleOpenFileComplete(); |
1499 iAutoResumeHandler->HandleOpenFileComplete(); |
1483 |
1500 |
1484 // Check if playback should not be started automatically. |
1501 // Check if playback should not be started automatically. |
1485 if ( iAccessPoint || ( iPlaylist && (!iPlaylist->AutoPlay()) ) ) |
1502 if ( iAccessPoint || ( iPlaylist && (!iPlaylist->AutoPlay()) ) ) |
2618 void CMPXPlaybackEngine::DoStopL(TBool aSavePlaybackInfo) |
2635 void CMPXPlaybackEngine::DoStopL(TBool aSavePlaybackInfo) |
2619 { |
2636 { |
2620 MPX_DEBUG1("==>CMPXPlaybackEngine::DoStopL()"); |
2637 MPX_DEBUG1("==>CMPXPlaybackEngine::DoStopL()"); |
2621 Suspend(); |
2638 Suspend(); |
2622 if (iState == EPbStatePaused || iState == EPbStatePlaying || |
2639 if (iState == EPbStatePaused || iState == EPbStatePlaying || |
2623 iState == EPbStateInitialising) |
2640 iState == EPbStateInitialising || iState == EPbStateBuffering) |
2624 { |
2641 { |
2625 if (aSavePlaybackInfo && (iState == EPbStatePaused || iState == EPbStatePlaying )) |
2642 if (aSavePlaybackInfo && (iState == EPbStatePaused || iState == EPbStatePlaying )) |
2626 { |
2643 { |
2627 TRAP_IGNORE(SavePlaybackInfoL()); // Leave when MMC eject and database already closed. |
2644 TRAP_IGNORE(SavePlaybackInfoL()); // Leave when MMC eject and database already closed. |
2628 } |
2645 } |