inc/AudioConfigurationPrivateCRKeys.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 06 Jul 2010 14:50:35 +0300
changeset 32 94fc26b6e006
parent 0 71ca22bcf22a
permissions -rw-r--r--
Revision: 201025 Kit: 2010127

/*
* Copyright (c) 2004 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:  Audio Configuration internal Central Repository keys for
*                specifying buffering mode during progressive download.
*
*/


#ifndef AUDIOCONFIGURATIONINTERNALCRKEYS_H
#define AUDIOCONFIGURATIONINTERNALCRKEYS_H

// INCLUDES
#include <e32def.h>

// CONSTANTS

/**
* Audio Configuration CR UID.
*/
const TUid KCRUidAudioConfiguration = {0x10207B74};

/**
* This key is required for the Enhanced Media Client to determine the "buffering mode"
* when the source runs out of data. When it happens, the source will start sending
* buffer to underlying framework when buffering condition is met.
*
* Possible integer values:
* 0 = "None". No buffering is done, as and when data is downloaded, it will be given
*     to underlying framework.
* 1 = "Fixed Size". Fixed size buffering. The source waits until the data accumulated
*     reaches the limit (in bytes) specified by KPDLPrimaryBufferingAmount.
* 2 = "Fixed duration". Fixed duration buffering. The source waits until the data
*     accumulated reaches the limit (calculated dynamically). When playback begins,
*     it is guarenteed to continue playback for KPDLPrimaryBufferingAmount duration
*     before it may underflow again. (Note: The playback may stop due to other reasons
*     but insufficient data).
* 3 = "Dynamic duration". Dynamic duration buffering. The source waits until the data
*     accumulated reaches the limit (in bytes) specified by KPDLPrimaryBufferingAmount
*     plus a constant. The limit determined is the best possible approximation.
*     When the playback begins it is may never underflow until the clip is played
*     back completely. This assuming that data transfer rate and the bit rate of the
*     clip remains constant until the download is complete.
      (Note: The playback may stop due to other reasons but insufficient data).
*/
const TUint32 KPDLPrimaryBufferingType  = 0x00000001;

/**
* Size/Duration value associated with primary buffering type.
*/
const TUint32 KPDLPrimaryBufferingAmount = 0x00000002;

/**
* This key is used if primary configuration cannot be used.
* This may happen when the component does not know all the variables needed to
* to determine the buffering limit.
*
* If the buffering type specified is still invalid at runtime(for e.g. the customer may have
* configured both primary and secondary to fixed duration and the bit rate may
* not be known in the begining of playback). The component will default to no
* buffering and will send data to framework as and when it is received. The playback
* may include breaks in this case. To avoid this, this should be configured to fixed
* size. 
*/
const TUint32 KPDLSecondaryBufferingType = 0x00000003;

/**
* Size/Duration value associated with secondary buffering type.
*/
const TUint32 KPDLSecondaryBufferingAmount = 0x00000004;

/**
* Initial Percentage of File download before starting playback.
*/
const TUint32 KPDLInitialBufferingPercentage = 0x00000005;


#endif      // AUDIOCONFIGURATIONINTERNALCRKEYS_H

// End of file