Update contrib.
3 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
4 // All rights reserved.
5 // This component and the accompanying materials are made available
6 // under the terms of "Eclipse Public License v1.0"
7 // which accompanies this distribution, and is available
8 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
10 // Initial Contributors:
11 // Nokia Corporation - initial contribution.
20 #include "buffersink.h"
21 #include "moutputport.h"
23 // ---------------------------------------------------------------------------
25 // ---------------------------------------------------------------------------
27 CBufferSink::CBufferSink()
30 DP_CONTEXT(CBufferSink::CBufferSink *CD1*, CtxDevSound, DPLOCAL);
35 // ---------------------------------------------------------------------------
37 // ---------------------------------------------------------------------------
39 EXPORT_C CBufferSink* CBufferSink::NewL()
41 DP_STATIC_CONTEXT(CBufferSink::NewL *CD0*, CtxDevSound, DPLOCAL);
43 CBufferSink* self = new(ELeave)CBufferSink();
44 CleanupStack::PushL(self);
46 CleanupStack::Pop(self);
47 DP0_RET(self, "0x%x");
50 // ---------------------------------------------------------------------------
51 // Second phase constructor
52 // ---------------------------------------------------------------------------
54 void CBufferSink::ConstructL()
56 DP_CONTEXT(CBufferSink::ConstructL *CD1*, CtxDevSound, DPLOCAL);
61 // ---------------------------------------------------------------------------
63 // ---------------------------------------------------------------------------
65 CBufferSink::~CBufferSink()
67 DP_CONTEXT(CBufferSink::~CBufferSink *CD1*, CtxDevSound, DPLOCAL);
72 // from class MInputPort
73 // ---------------------------------------------------------------------------
74 // CBufferSink::GetInputPort
75 // ---------------------------------------------------------------------------
77 TInt CBufferSink::GetInputPort(MInputPort*& aInput)
79 DP_CONTEXT(CBufferSource::GetInputPort *CD1*, CtxDevSound, DPLOCAL);
82 DP0_RET(KErrNone, "%d");
85 // ---------------------------------------------------------------------------
86 // CBufferSink::EmptyBuffer
87 // ---------------------------------------------------------------------------
89 TInt CBufferSink::EmptyBuffer(CMMFBuffer* aBuffer, MOutputPort* aSupplier)
91 DP_CONTEXT(CBufferSink::EmptyBuffer *CD1*, CtxDevSound, DPLOCAL);
94 if (aSupplier == iOutput)
96 iConsumer->BufferToBeEmptied(static_cast<MMMFBufferSink*>(this), aBuffer);
100 err = KErrNotSupported;
105 // ---------------------------------------------------------------------------
106 // CBufferSink::BufferFilled
107 // ---------------------------------------------------------------------------
109 TInt CBufferSink::BufferFilled(CMMFBuffer* /*aBuffer*/)
111 DP_CONTEXT(CBufferSink::BufferFilled *CD1*, CtxDevSound, DPLOCAL);
113 DP0_RET(KErrNone, "%d");
116 // ---------------------------------------------------------------------------
117 // CBufferSink::SetOutput
118 // ---------------------------------------------------------------------------
120 TInt CBufferSink::SetOutput(MOutputPort* aOutput)
122 DP_CONTEXT(CBufferSink::SetOutput *CD1*, CtxDevSound, DPLOCAL);
125 DP0_RET(KErrNone, "%d");
128 // ---------------------------------------------------------------------------
129 // CBufferSink::RemoveOutput
130 // ---------------------------------------------------------------------------
132 TInt CBufferSink::RemoveOutput(MOutputPort* /*aOutput*/)
134 DP_CONTEXT(CBufferSink::RemoveOutput *CD1*, CtxDevSound, DPLOCAL);
137 DP0_RET(KErrNone, "%d");
140 // from MMMFBufferSink
141 // ---------------------------------------------------------------------------
142 // CBufferSink::SetDataConsumer
143 // ---------------------------------------------------------------------------
145 TInt CBufferSink::SetDataConsumer(MMMFAudioDataConsumer& aConsumer)
147 DP_CONTEXT(CBufferSink::SetDataConsumer *CD1*, CtxDevSound, DPLOCAL);
149 iConsumer = &aConsumer;
150 DP0_RET(KErrNone, "%d");
153 // ---------------------------------------------------------------------------
154 // CBufferSink::BufferEmptied
155 // ---------------------------------------------------------------------------
157 TInt CBufferSink::BufferEmptied(CMMFBuffer* aBuffer)
159 DP_CONTEXT(CBufferSink::BufferFilled *CD1*, CtxDevSound, DPLOCAL);
161 // Check if need a switch
164 return(iOutput->BufferEmptied(aBuffer));
167 // ---------------------------------------------------------------------------
168 // CBufferSink::BuffersDiscarded
169 // ---------------------------------------------------------------------------
171 TInt CBufferSink::BuffersDiscarded()
173 DP_CONTEXT(CBufferSink::BuffersDiscarded *CD1*, CtxDevSound, DPLOCAL);
175 // Check what we are suppose to do
180 DP0_RET(KErrNone, "%d");