sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // MmfVideoCallback.cpp sl@0: // sl@0: // sl@0: sl@0: #include "mmfvideocallback.h" sl@0: sl@0: CMMFVideoPlayerCallback::~CMMFVideoPlayerCallback() sl@0: { sl@0: } sl@0: sl@0: CMMFVideoPlayerCallback::CMMFVideoPlayerCallback(MVideoPlayerUtilityObserver& aCallback) sl@0: : CActive(EPriorityStandard), iCallback(aCallback) sl@0: { sl@0: CActiveScheduler::Add(this); sl@0: } sl@0: sl@0: void CMMFVideoPlayerCallback::SetFrame(CFbsBitmap& aBitmap) sl@0: { sl@0: iEvent = EFrameReadyEvent; sl@0: iBitmap = &aBitmap; sl@0: } sl@0: sl@0: void CMMFVideoPlayerCallback::RunL() sl@0: { sl@0: switch (iEvent) sl@0: { sl@0: case EOpenCompleteEvent: iCallback.MvpuoOpenComplete(iStatus.Int()); sl@0: break; sl@0: case EFrameReadyEvent: ASSERT(iBitmap); sl@0: iCallback.MvpuoFrameReady(*iBitmap,iStatus.Int()); sl@0: break; sl@0: case EPlayCompleteEvent: iCallback.MvpuoPlayComplete(iStatus.Int()); sl@0: break; sl@0: default: ASSERT(EFalse); sl@0: break; sl@0: } sl@0: } sl@0: sl@0: void CMMFVideoPlayerCallback::DoCancel() sl@0: { sl@0: } sl@0: sl@0: void CMMFVideoPlayerCallback::Signal(const TInt aReason, TCallbackEvent aEvent) sl@0: { sl@0: ASSERT(!IsActive()); sl@0: iEvent = aEvent; sl@0: // Signal ourselves to run with the given completion code sl@0: TRequestStatus* status = &iStatus; sl@0: User::RequestComplete(status, aReason); sl@0: SetActive(); sl@0: } sl@0: sl@0: TRequestStatus& CMMFVideoPlayerCallback::ActiveStatus() sl@0: { sl@0: SetActive(); sl@0: return iStatus; sl@0: } sl@0: sl@0: sl@0: CMMFVideoRecorderCallback::~CMMFVideoRecorderCallback() sl@0: { sl@0: } sl@0: sl@0: CMMFVideoRecorderCallback::CMMFVideoRecorderCallback(MVideoRecorderUtilityObserver& aCallback) sl@0: : CActive(EPriorityStandard), iCallback(aCallback) sl@0: { sl@0: CActiveScheduler::Add(this); sl@0: } sl@0: sl@0: void CMMFVideoRecorderCallback::RunL() sl@0: { sl@0: switch (iEvent) sl@0: { sl@0: case EOpenCompleteEvent: iCallback.MvruoOpenComplete(iStatus.Int()); sl@0: break; sl@0: case EPrepareCompleteEvent: iCallback.MvruoPrepareComplete(iStatus.Int()); sl@0: break; sl@0: case ERecordCompleteEvent: iCallback.MvruoRecordComplete(iStatus.Int()); sl@0: break; sl@0: default: ASSERT(EFalse); sl@0: break; sl@0: } sl@0: } sl@0: sl@0: void CMMFVideoRecorderCallback::DoCancel() sl@0: { sl@0: } sl@0: sl@0: void CMMFVideoRecorderCallback::Signal(const TInt aReason, TCallbackEvent aEvent) sl@0: { sl@0: ASSERT(!IsActive()); sl@0: iEvent = aEvent; sl@0: // Signal ourselves to run with the given completion code sl@0: TRequestStatus* status = &iStatus; sl@0: User::RequestComplete(status, aReason); sl@0: SetActive(); sl@0: }