os/mm/mmlibs/mmfw/tsrc/mmfunittest/DevSoundTest/CIPlugins/src/ilbcencoderconfigtestdevice.cpp
First public contribution.
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/ecom.h>
19 #include "ilbcencoderconfigtestdevice.h"
20 #include "devsoundciutestdevices.hrh"
23 CMMFIlbcEncoderConfig implementation
25 CMMFIlbcEncoderConfig* CMMFIlbcEncoderConfig::NewL()
27 CMMFIlbcEncoderConfig* self = new(ELeave) CMMFIlbcEncoderConfig();
31 CMMFIlbcEncoderConfig::~CMMFIlbcEncoderConfig()
35 //Actual implementation of method SetEncoderMode
36 TInt CMMFIlbcEncoderConfig::SetEncoderMode(TEncodeMode aEncodeMode)
38 iEncodeMode = aEncodeMode;
43 //Actual implementation of method GetEncoderMode
44 TInt CMMFIlbcEncoderConfig::GetEncoderMode(TEncodeMode& aEncodeMode)
46 aEncodeMode = iEncodeMode;
51 //Actual implementation of method SetVadMode
52 TInt CMMFIlbcEncoderConfig::SetVadMode(TBool aVadModeOn)
54 iVadModeOn = aVadModeOn;
58 //Actual implementation of method GetVadMode
59 TInt CMMFIlbcEncoderConfig::GetVadMode(TBool& aVadModeOn)
61 aVadModeOn = iVadModeOn;
67 CIlbcEncoderConfigTestDevice implementation
69 CMMFHwDevice* CIlbcEncoderConfigTestDevice::NewL()
71 CIlbcEncoderConfigTestDevice* self=new(ELeave) CIlbcEncoderConfigTestDevice();
72 CleanupStack::PushL(self);
74 CleanupStack::Pop(self);
78 CIlbcEncoderConfigTestDevice::~CIlbcEncoderConfigTestDevice()
80 delete iIlbcEncoderConfig;
83 CIlbcEncoderConfigTestDevice::CIlbcEncoderConfigTestDevice()
87 void CIlbcEncoderConfigTestDevice::ConstructL()
91 TInt CIlbcEncoderConfigTestDevice::Start(TDeviceFunc /*aFuncCmd*/, TDeviceFlow /*aFlowCmd*/)
96 TInt CIlbcEncoderConfigTestDevice::Stop()
101 TInt CIlbcEncoderConfigTestDevice::Pause()
106 TInt CIlbcEncoderConfigTestDevice::Init(THwDeviceInitParams& /*aDevInfo*/)
111 TAny* CIlbcEncoderConfigTestDevice::CustomInterface(TUid aInterfaceId)
113 // Just return something non-NULL to keep the
114 // DevSound initialisation process happy
115 TAny* ret = static_cast<TAny*>(this);
117 // Now for the CIs we want to test...
118 if (aInterfaceId == KUidIlbcEncoderIntfc)
120 if (!iIlbcEncoderConfig)
122 TRAPD(err, iIlbcEncoderConfig = CMMFIlbcEncoderConfig::NewL());
123 if (err == KErrNone && iIlbcEncoderConfig)
125 MIlbcEncoderIntfc* ptr = this;
126 ret = static_cast<TAny*>(ptr);
138 TInt CIlbcEncoderConfigTestDevice::ThisHwBufferFilled(CMMFBuffer& /*aFillBufferPtr*/)
143 TInt CIlbcEncoderConfigTestDevice::ThisHwBufferEmptied(CMMFBuffer& /*aEmptyBufferPtr*/)
148 TInt CIlbcEncoderConfigTestDevice::SetConfig(TTaskConfig& /*aConfig*/)
153 TInt CIlbcEncoderConfigTestDevice::StopAndDeleteCodec()
158 TInt CIlbcEncoderConfigTestDevice::DeleteCodec()
163 CMMFSwCodec& CIlbcEncoderConfigTestDevice::Codec()
168 TInt CIlbcEncoderConfigTestDevice::SetEncoderMode(TEncodeMode aEncodeMode)
170 TInt result = KErrBadHandle;
172 if (iIlbcEncoderConfig)
174 result = iIlbcEncoderConfig->SetEncoderMode(aEncodeMode);
180 TInt CIlbcEncoderConfigTestDevice::GetEncoderMode(TEncodeMode& aEncodeMode)
182 TInt result = KErrBadHandle;
184 if (iIlbcEncoderConfig)
186 result = iIlbcEncoderConfig->GetEncoderMode(aEncodeMode);
192 TInt CIlbcEncoderConfigTestDevice::SetVadMode(TBool aVadModeOn)
194 TInt result = KErrBadHandle;
196 if (iIlbcEncoderConfig)
198 result = iIlbcEncoderConfig->SetVadMode(aVadModeOn);
204 TInt CIlbcEncoderConfigTestDevice::GetVadMode(TBool& aVadModeOn)
206 TInt result = KErrBadHandle;
208 if (iIlbcEncoderConfig)
210 result = iIlbcEncoderConfig->GetVadMode(aVadModeOn);