diff -r 000000000000 -r 4e91876724a2 photosgallery/viewframework/tvout/src/glxactivedecoder.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/viewframework/tvout/src/glxactivedecoder.cpp Thu Dec 17 08:45:44 2009 +0200 @@ -0,0 +1,89 @@ +/* +* Copyright (c) 2008-2009 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: +* +*/ + +#include +#include +#include "glxactivedecoder.h" + +// ----------------------------------------------------------------------------- +// NewL +// ----------------------------------------------------------------------------- +CGlxHdmiDecoderAO* CGlxHdmiDecoderAO::NewL(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater, + TInt aFrameCount) + { + TRACER("CGlxHdmiDecoderAO::NewL()"); + CGlxHdmiDecoderAO* self = new (ELeave) CGlxHdmiDecoderAO(aHdmiSurfaceUpdater, + aFrameCount); + return self; + } + +// ----------------------------------------------------------------------------- +// CGlxHdmiDecoderAO() +// ----------------------------------------------------------------------------- +CGlxHdmiDecoderAO::CGlxHdmiDecoderAO(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater, + TInt aFrameCount):CActive(CActive::EPriorityStandard-1), + iHdmiSurfaceUpdater(aHdmiSurfaceUpdater), iFrameCount(aFrameCount) + { + TRACER("CGlxHdmiDecoderAO::CGlxHdmiDecoderAO()"); + iDecodeCount = 0; + CActiveScheduler::Add(this); + } + +// ----------------------------------------------------------------------------- +// ~CGlxHdmiDecoderAO +// Cancel the outstanding request +// ----------------------------------------------------------------------------- +CGlxHdmiDecoderAO::~CGlxHdmiDecoderAO() + { + TRACER("CGlxHdmiDecoderAO::~CGlxHdmiDecoderAO()"); + } + +// ----------------------------------------------------------------------------- +// RunL +// Calls iHdmiSurfaceUpdater->HandleRunL() which is expected to handle the call +// ----------------------------------------------------------------------------- +void CGlxHdmiDecoderAO::RunL() + { + TRACER("CGlxHdmiDecoderAO::RunL()"); + iHdmiSurfaceUpdater->HandleRunL(); + CActiveScheduler::Stop(); + } + +// ----------------------------------------------------------------------------- +// DoCancel +// ----------------------------------------------------------------------------- +void CGlxHdmiDecoderAO::DoCancel() + { + TRACER("CGlxHdmiDecoderAO::DoCancel()"); + iDecoder->Cancel(); + } + +// ----------------------------------------------------------------------------- +// ConvertImageL +// ----------------------------------------------------------------------------- +void CGlxHdmiDecoderAO::ConvertImageL(CFbsBitmap& aBitmap, TInt aFrameNum, + CImageDecoder* aDecoder) + { + TRACER("CGlxHdmiDecoderAO::ConvertImageL()"); + iDecoder = aDecoder; + iDecoder->Convert(&iStatus,aBitmap, aFrameNum); + SetActive(); + CActiveScheduler::Start(); + } + + +