heaac_dec/ariheaacdecwrapper/export_hdr/ariheaacdecwrapper.h
changeset 0 bb31fbe78861
equal deleted inserted replaced
-1:000000000000 0:bb31fbe78861
       
     1 /*
       
     2 * Copyright (c) 2009 Aricent and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "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".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Aricent - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 * Export header file for Wrapper APIs.Interface class for
       
    16 * HeAac Decoder Wrapper.The member functions are pure virtual functions which
       
    17 * are to be implemented by the derived class.
       
    18 *
       
    19 */
       
    20 
       
    21 #ifndef ARIHEAACDECWRAPPER_H
       
    22 #define ARIHEAACDECWRAPPER_H
       
    23 
       
    24 #include <e32def.h>
       
    25 #include <e32base.h>
       
    26 
       
    27 
       
    28 // Class declaration
       
    29 class CAriHeAacDecWrapper:public CBase
       
    30     {
       
    31 
       
    32 public:
       
    33     /**
       
    34      * Two-phased constructor.
       
    35      * @return pointer to an instance of CAriHeAacDecWrapper
       
    36      */
       
    37     IMPORT_C static CAriHeAacDecWrapper* NewL();
       
    38 
       
    39     /**> Destructor */
       
    40 	virtual ~CAriHeAacDecWrapper();
       
    41 
       
    42 	/**
       
    43      * The function returns the Format type of the input stream.
       
    44      * @param aData
       
    45      *    Pointer to buffer containing the first chunk of input stream data
       
    46      * @return Format type of input stream
       
    47      */
       
    48 	virtual TInt FormatType( TUint8* aData ) = 0;
       
    49 
       
    50 	/**
       
    51      * The function Gets frame information for the given source.
       
    52      * @param aHeaderBuffer
       
    53      *    Pointer to buffer containing the header of input stream data
       
    54      * @param aHeaderSize
       
    55      *    size of header in bytes
       
    56      * @param aFrameInfo
       
    57      *    pointer to FrameInfo structure
       
    58      * @param aFormat
       
    59      *    Format type of input stream
       
    60      * @param aDataBuffer
       
    61      *    Pointer to buffer containing input stream data
       
    62      * @param aDataSize
       
    63      *    size of input data in bytes
       
    64      * @return return status
       
    65      */
       
    66 	virtual TInt GetFrameInfo( TUint8* aHeaderBuffer, TInt &aHeaderSize,
       
    67                             TAny* aFrameInfo, TInt aFormat,
       
    68                             TUint8* aDataBuffer, TInt aDataSize ) = 0;
       
    69 
       
    70 	/**
       
    71      * The function decodes the input stream.
       
    72      * @param aSrcBuf
       
    73      *    The source buffer containing data to decode.
       
    74      * @param aSrcUsed
       
    75      *    Size of source buffer in bytes
       
    76      * @param aDstBuf
       
    77      *    The destination buffer to hold the data after decoding.
       
    78      * @param aOutSize
       
    79      *    Size of destination buffer in bytes
       
    80      * @return return status
       
    81      */
       
    82  	virtual TInt Decode( TUint8 *aSrcBuf, TInt &aSrcUsed, TUint8 *aDstBuf,
       
    83                                                 TInt &aOutSize ) = 0;
       
    84 
       
    85  	/**
       
    86      * The function resets the codec.
       
    87      * @param aFrameInfo
       
    88      *    pointer to FrameInfo structure
       
    89      * @return return status
       
    90      */
       
    91 	virtual TInt Reset( TAny* aFrameInfo ) = 0;
       
    92     };
       
    93 
       
    94 
       
    95 #endif /*   ARIHEAACDECWRAPPER_H   */
       
    96