javauis/mmapi_qt/baseline/src/cmmastoptimecontrol.cpp
branchRCL_3
changeset 18 9ac0a0a7da70
parent 17 0fd27995241b
child 19 71c436fe3ce0
--- a/javauis/mmapi_qt/baseline/src/cmmastoptimecontrol.cpp	Tue May 11 16:07:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This class is used for stoptime controlling
-*
-*/
-
-
-//  INCLUDE FILES
-#include <logger.h>
-#include <e32std.h>
-
-#include "cmmastoptimecontrol.h"
-#include "cmmaplayer.h"
-
-
-_LIT(KControlName, "StopTimeControl");
-
-_LIT(KMMAStopTimeControlError, "StopTimeControl Symbian OS error: %d");
-const TInt KMMAStopTimeControlErrorLength = 50;
-
-CMMAStopTimeControl::CStopTimer* CMMAStopTimeControl::CStopTimer::NewL(
-    CMMAStopTimeControl* aControl)
-{
-    CStopTimer* self = new(ELeave) CStopTimer(aControl);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-}
-
-
-CMMAStopTimeControl::CStopTimer::CStopTimer(CMMAStopTimeControl* aControl)
-        : CTimer(CActive::EPriorityStandard)
-{
-    iControl = aControl;
-}
-
-
-void CMMAStopTimeControl::CStopTimer::ConstructL()
-{
-    CTimer::ConstructL();
-    CActiveScheduler::Add(this);
-}
-
-
-void CMMAStopTimeControl::CStopTimer::RunL()
-{
-    LOG( EJavaMMAPI, EInfo, "MMA:CMMAStopTimeControl:CStopTimer:RunL timer triggered");
-    iControl->StopAtTimeL();
-}
-
-const TDesC& CMMAStopTimeControl::ClassName() const
-{
-    return KControlName;
-}
-
-
-CMMAStopTimeControl* CMMAStopTimeControl::NewL(CMMAPlayer* aPlayer)
-{
-    CMMAStopTimeControl* control =
-        new(ELeave) CMMAStopTimeControl(aPlayer);
-    CleanupStack::PushL(control);
-    control->ConstructL();
-    CleanupStack::Pop(); // control
-    return control;
-}
-
-
-CMMAStopTimeControl::~CMMAStopTimeControl()
-{
-    delete iTimer;
-}
-
-
-CMMAStopTimeControl::CMMAStopTimeControl(CMMAPlayer* aPlayer)
-        : iPlayer(aPlayer), iNoTimer((MAKE_TINT64(KMaxTInt, KMaxTUint)))
-{
-    iStopTime = iNoTimer;
-}
-
-
-void CMMAStopTimeControl::ConstructL()
-{
-    iTimer = CStopTimer::NewL(this);
-    iPlayer->AddStateListenerL(this);
-}
-
-
-void CMMAStopTimeControl::StaticGetStopTime(CMMAStopTimeControl* aControl,
-        TInt64* aTime)
-{
-    aControl->GetStopTime(*aTime);
-}
-
-
-void CMMAStopTimeControl::StaticSetStopTimeL(CMMAStopTimeControl* aControl,
-        TInt64* aTime)
-{
-    aControl->SetStopTimeL(*aTime);
-}
-
-
-void CMMAStopTimeControl::StopAtTimeL()
-{
-    LOG( EJavaMMAPI, EInfo, "MMA:CMMAStopTimeControl::StopAtTime");
-
-    // Stop the player only when it's playing
-    if (iPlayer->State() == CMMAPlayer::EStarted)
-    {
-        TInt64 time;
-        iPlayer->GetMediaTime(&time);
-        if (time >= 0 && time < iStopTime)
-        {
-            LOG1( EJavaMMAPI, EInfo, "MMA:CMMAStopTimeControl::StopAtTime - Called %dms too early",
-                      I64INT((time - iStopTime)/1000));
-            StartTimer(time);
-            return;
-        }
-
-        TInt64 stopTime;
-
-        // MediaTime is known
-        if (time >= 0)
-        {
-            LOG1( EJavaMMAPI, EInfo, "MMA:CMMAStopTimeControl::StopAtTime - called %dms late", I64INT((time - iStopTime)/1000));
-            stopTime = time;
-        }
-        else
-        {
-            // Use the requested time
-            stopTime = iStopTime;
-        }
-
-        iPlayer->StopL(EFalse);
-
-        // Inform the player that it's "stopped at time"
-        iPlayer->PostLongEvent(CMMAPlayerEvent::EStoppedAtTime, stopTime);
-
-        iStopTime = iNoTimer; // Timer is reseted
-    }
-}
-
-
-/**
- * Get stop time, in microseconds
- */
-void CMMAStopTimeControl::GetStopTime(TInt64& aTime)
-{
-    aTime = iStopTime;
-}
-
-
-/**
- * Set stop time, in microseconds
- * @param aTime is iNoTimer if the timer should be reseted
- */
-void CMMAStopTimeControl::SetStopTimeL(const TInt64& aTime)
-{
-    iStopTime = aTime;
-
-    if (aTime != iNoTimer)
-    {
-        LOG1( EJavaMMAPI, EInfo, "MMA:CMMAStopTimeControl:SetStopTime(%dms)",
-                  I64INT(aTime / 1000));
-
-        if (iPlayer->State() == CMMAPlayer::EStarted)
-        {
-            TInt64 currentTime(0);
-            iPlayer->GetMediaTime(&currentTime);
-
-            StartTimer(currentTime);
-        }
-    }
-    else
-    {
-        LOG( EJavaMMAPI, EInfo, "MMA:CMMAStopTimeControl:SetStopTime(RESET)");
-
-        iTimer->Cancel();
-    }
-}
-
-
-/*
- * Start timer
- * @param aCurrentTime current position of the player
- */
-void CMMAStopTimeControl::StartTimer(const TInt64& aCurrentTime)
-{
-    // StopTime is defined
-    TInt64 time = iStopTime - aCurrentTime;
-    LOG1( EJavaMMAPI, EInfo, "MMA:CMMAStopTimeControl:StartTimer timer started; time=%dms",
-              I64INT(time / 1000));
-    iTimer->Cancel();
-
-    if (time >= 0)
-    {
-        // Value is too large to represent with TInt
-        // use the biggest possible value instead
-        if (I64HIGH(time) != 0 || I64INT(time) < 0)
-        {
-            time = KMaxTInt;
-        }
-
-        iTimer->After(TTimeIntervalMicroSeconds32(I64INT(time)));
-    }
-    else
-    {
-        // Stop the player immediatelly
-        TRAPD(err,  StopAtTimeL());
-        if (err != KErrNone)
-        {
-            TBuf< KMMAStopTimeControlErrorLength > errorMsg;
-            errorMsg.Format(KMMAStopTimeControlError, err);
-            iPlayer->PostStringEvent(CMMAPlayerEvent::EError,
-                                     errorMsg);
-        }
-    }
-}
-
-
-void CMMAStopTimeControl::StateChanged(TInt aState)
-{
-    switch ((CMMAPlayer::TPlayerState) aState)
-    {
-    case CMMAPlayer::EStarted:
-    {
-        if (iStopTime != iNoTimer)
-        {
-            // (Re)start the timer
-            TInt64 time;
-            iPlayer->GetMediaTime(&time);
-
-            StartTimer(time);
-        }
-        break;
-    }
-    case CMMAPlayer::ERealized:
-    case CMMAPlayer::EPrefetched:
-    case CMMAPlayer::EClosed:
-    {
-        // Player is not running anymore
-        iTimer->Cancel();
-        break;
-    }
-    default:
-    {
-        // other states are ignored
-    }
-    }
-}
-
-//  END OF FILE