Update contrib.
     2 * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 
     4 * This component and the accompanying materials are made available
 
     5 * under the terms of "Eclipse Public License v1.0"
 
     6 * which accompanies this distribution, and is available
 
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 
     9 * Initial Contributors:
 
    10 * Nokia Corporation - initial contribution.
 
    27 #ifndef MBUFFERSOURCE_H
 
    28 #define MBUFFERSOURCE_H
 
    30 #include <a3f/a3fbase.h>
 
    31 #include <a3f/maudiodatasupplier.h>
 
    36  * Buffer source is used for providing audio data from outside the audio process.
 
    38  * The type of the actual 'physical' source can be for example a file or a socket or the
 
    39  * data could also be generated. Nevertheless, the client (the MAudioDataSupplier) is responsible
 
    40  * for reading the data and providing it to the audio process by filling the buffers received
 
    41  * as a parameter with the callbacks in the MAudioDataSupplier interface.
 
    43 class MMMFBufferSource
 
    47 	 * Initializes the source for using aSupplier as a data supplier.
 
    49 	 * The source must be initialized before it is attached to a stream.
 
    51 	 * @param aSupplier a reference to the data supplier which will provide the audio data by
 
    52 	 * filling the buffers received with the callbacks.
 
    53 	 * @return an error code. KErrNone if successful, otherwise one of the system wide error codes.
 
    55 	virtual TInt SetDataSupplier(MMMFAudioDataSupplier& aSupplier)=0;
 
    58 	 * Indicates that a buffer received from this buffer source has
 
    59 	 * been filled with audio data.
 
    61 	 * @param aBuffer the buffer that has been filled.
 
    62 	 * @return an error code. KErrNone if successful, otherwise one of the system wide error codes.
 
    64 	virtual TInt BufferFilled(CMMFBuffer* aBuffer)=0;
 
    67 	 * Acknowledges the call to MMMFAudioDataSupplier::DiscardBuffers().
 
    69 	 * A DiscardBuffers() callback will be issued to MMMFAudioDataSupplier to request that any requested buffers have been discarded.
 
    70 	 * This call acknowledges that the data supplier has stopped using the buffers, and returns their control to the framework proper
 
    72 	 * @return an error code. KErrNone on success, otherwise one of the system wide error codes.
 
    74 	virtual TInt BuffersDiscarded()=0;
 
    78 #endif // MBUFFERSOURCE_H