os/mm/mmlibs/mmfw/tsrc/mmfunittest/DevSoundTest/CIPlugins/src/audiodspcontroltestdevice.cpp
Update contrib.
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #include <ecom/implementationproxy.h>
17 #include <ecom/implementationproxy.h>
18 #include <ecom/ecom.h>
20 #include "audiodspcontroltestdevice.h"
21 #include "devsoundciutestdevices.hrh"
25 CMMFAudioDspControl implementation
27 CMMFAudioDspControl* CMMFAudioDspControl::NewL()
29 CMMFAudioDspControl* self = new(ELeave) CMMFAudioDspControl();
33 CMMFAudioDspControl::~CMMFAudioDspControl()
37 //Actual implementation of method MmdspcGetAudioPlaybackInfo
38 TInt CMMFAudioDspControl::MmdspcGetAudioPlaybackInfo (TInt64& aSamplesPlayed, TInt64& aSystemTime, TUint& aB, TUint& aT)
48 //Actual implementation of method MmdspcAcceptRecordBuffersInvalidFollowingStop
49 TInt CMMFAudioDspControl::MmdspcAcceptRecordBuffersInvalidFollowingStop()
54 //Actual implementation of method MmdspcAcceptPlaybackBuffersInvalidFollowingStop
55 TInt CMMFAudioDspControl::MmdspcAcceptPlaybackBuffersInvalidFollowingStop()
64 CMMFHwDevice* CAudioDspControlTestDevice::NewL()
66 CAudioDspControlTestDevice* self=new(ELeave) CAudioDspControlTestDevice();
67 CleanupStack::PushL(self);
69 CleanupStack::Pop(self);
73 CAudioDspControlTestDevice::~CAudioDspControlTestDevice()
75 delete iAudioDspControl;
78 CAudioDspControlTestDevice::CAudioDspControlTestDevice()
82 void CAudioDspControlTestDevice::ConstructL()
86 TInt CAudioDspControlTestDevice::Start(TDeviceFunc /*aFuncCmd*/, TDeviceFlow /*aFlowCmd*/)
91 TInt CAudioDspControlTestDevice::Stop()
96 TInt CAudioDspControlTestDevice::Pause()
101 TInt CAudioDspControlTestDevice::Init(THwDeviceInitParams& /*aDevInfo*/)
106 TAny* CAudioDspControlTestDevice::CustomInterface(TUid aInterfaceId)
108 // Just return something non-NULL to keep the
109 // DevSound initialisation process happy
110 TAny* ret = static_cast<TAny*>(this);
112 // Now for the CIs we want to test...
113 if (aInterfaceId == KUidDSPControl)
115 if (!iAudioDspControl)
117 TRAPD(err, iAudioDspControl = CMMFAudioDspControl::NewL());
118 if (err == KErrNone && iAudioDspControl)
120 MMMFDSPControl* ptr = this;
121 ret = static_cast<TAny*>(ptr);
133 TInt CAudioDspControlTestDevice::ThisHwBufferFilled(CMMFBuffer& /*aFillBufferPtr*/)
138 TInt CAudioDspControlTestDevice::ThisHwBufferEmptied(CMMFBuffer& /*aEmptyBufferPtr*/)
143 TInt CAudioDspControlTestDevice::SetConfig(TTaskConfig& /*aConfig*/)
148 TInt CAudioDspControlTestDevice::StopAndDeleteCodec()
153 TInt CAudioDspControlTestDevice::DeleteCodec()
158 CMMFSwCodec& CAudioDspControlTestDevice::Codec()
163 TInt CAudioDspControlTestDevice::MmdspcGetAudioPlaybackInfo (TInt64& aSamplesPlayed, TInt64& aSystemTime, TUint& aB, TUint& aT)
165 TInt result = KErrBadHandle;
167 if (iAudioDspControl)
169 result = iAudioDspControl->MmdspcGetAudioPlaybackInfo (aSamplesPlayed, aSystemTime, aB, aT);
175 TInt CAudioDspControlTestDevice::MmdspcAcceptRecordBuffersInvalidFollowingStop()
177 TInt result = KErrBadHandle;
179 if (iAudioDspControl)
181 result = iAudioDspControl->MmdspcAcceptRecordBuffersInvalidFollowingStop();
187 TInt CAudioDspControlTestDevice::MmdspcAcceptPlaybackBuffersInvalidFollowingStop()
189 TInt result = KErrBadHandle;
191 if (iAudioDspControl)
193 result = iAudioDspControl->MmdspcAcceptPlaybackBuffersInvalidFollowingStop();