khronosfws/openmax_al/src/mediarecorder/xametadatainsertionitf.h
changeset 25 6f7ceef7b1d1
parent 19 4a629bc82c5e
equal deleted inserted replaced
21:2ed61feeead6 25:6f7ceef7b1d1
     1 /*
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3  * All rights reserved.
     4 * This component and the accompanying materials are made available
     4  * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5  * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6  * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     8  *
     9 * Initial Contributors:
     9  * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10  * Nokia Corporation - initial contribution.
    11 *
    11  *
    12 * Contributors:
    12  * Contributors:
    13 *
    13  *
    14 * Description: 
    14  * Description: Metadata Insertion Itf Impl
    15 *
    15  *
    16 */
    16  */
    17 
    17 
    18 #ifndef XAMETADATAINSERTIONITF_H
    18 #ifndef XAMETADATAINSERTIONITF_H
    19 #define XAMETADATAINSERTIONITF_H
    19 #define XAMETADATAINSERTIONITF_H
    20 
       
    21 
    20 
    22 #include "xametadataadaptation.h"
    21 #include "xametadataadaptation.h"
    23 #include "xamediarecorder.h"
    22 #include "xamediarecorder.h"
    24 /** MACROS **/
    23 /** MACROS **/
    25 
    24 
    28 /** ENUMERATIONS **/
    27 /** ENUMERATIONS **/
    29 
    28 
    30 /** STRUCTURES **/
    29 /** STRUCTURES **/
    31 /* Definition of XAMetadataInsertionItf implementation */
    30 /* Definition of XAMetadataInsertionItf implementation */
    32 typedef struct XAMetadataInsertionItfImpl_
    31 typedef struct XAMetadataInsertionItfImpl_
    33 {
    32     {
    34     /* parent interface */
    33     /* parent interface */
    35     struct XAMetadataInsertionItf_ itf;
    34     struct XAMetadataInsertionItf_ itf;
    36     /* pointer to self */
    35     /* pointer to self */
    37     struct XAMetadataInsertionItfImpl_* self;
    36     struct XAMetadataInsertionItfImpl_* self;
    38 
    37 
    39     /* variables */
    38     /* variables */
    40     XAAdaptationBaseCtx *adaptCtx;
    39     XAAdaptationBaseCtx *adaptCtx;
    41     XAMetadataImplTagList   currentTags;
    40     XAMetadataImplTagList currentTags;
    42 
    41 
    43     /*Callback*/
    42     /*Callback*/
    44     xaMetadataInsertionCallback callback;
    43     xaMetadataInsertionCallback callback;
    45     void    *cbcontext;
    44     void *cbcontext;
    46     XAMetadataInsertionItf cbPtrToSelf;
    45     XAMetadataInsertionItf cbPtrToSelf;
    47 
    46 
    48 } XAMetadataInsertionItfImpl;
    47     } XAMetadataInsertionItfImpl;
    49 
    48 
    50 /** METHODS **/
    49 /** METHODS **/
    51 
    50 
    52 /* Base interface XAMetadataInsertionItf implementation */
    51 /* Base interface XAMetadataInsertionItf implementation */
    53 XAresult XAMetadataInsertionItfImpl_CreateChildNode(XAMetadataInsertionItf self,
    52 XAresult XAMetadataInsertionItfImpl_CreateChildNode(
    54                                                     XAint32 parentNodeID,
    53         XAMetadataInsertionItf self, XAint32 parentNodeID, XAuint32 type,
    55                                                     XAuint32 type,
    54         XAchar *mimeType, XAint32 *pChildNodeID);
    56                                                     XAchar *mimeType,
       
    57                                                     XAint32 *pChildNodeID);
       
    58 
    55 
    59 XAresult XAMetadataInsertionItfImpl_GetSupportedKeysCount(XAMetadataInsertionItf self,
    56 XAresult XAMetadataInsertionItfImpl_GetSupportedKeysCount(
    60                                                           XAint32 nodeID,
    57         XAMetadataInsertionItf self, XAint32 nodeID, XAboolean *pFreeKeys,
    61                                                           XAboolean *pFreeKeys,
    58         XAuint32 *pKeyCount, XAuint32 *pEncodingCount);
    62                                                           XAuint32 *pKeyCount,
       
    63                                                           XAuint32 *pEncodingCount);
       
    64 
    59 
    65 XAresult XAMetadataInsertionItfImpl_GetKeySize(XAMetadataInsertionItf self,
    60 XAresult XAMetadataInsertionItfImpl_GetKeySize(XAMetadataInsertionItf self,
    66                                                XAint32 nodeID,
    61         XAint32 nodeID, XAuint32 keyIndex, XAuint32 *pKeySize);
    67                                                XAuint32 keyIndex,
       
    68                                                XAuint32 *pKeySize);
       
    69 
    62 
    70 XAresult XAMetadataInsertionItfImpl_GetKey(XAMetadataInsertionItf self,
    63 XAresult XAMetadataInsertionItfImpl_GetKey(XAMetadataInsertionItf self,
    71                                            XAint32 nodeID,
    64         XAint32 nodeID, XAuint32 keyIndex, XAuint32 keySize,
    72                                            XAuint32 keyIndex,
    65         XAMetadataInfo *pKey);
    73                                            XAuint32 keySize,
       
    74                                            XAMetadataInfo *pKey);
       
    75 
    66 
    76 XAresult XAMetadataInsertionItfImpl_GetFreeKeysEncoding(XAMetadataInsertionItf self,
    67 XAresult XAMetadataInsertionItfImpl_GetFreeKeysEncoding(
    77                                                         XAint32 nodeID,
    68         XAMetadataInsertionItf self, XAint32 nodeID, XAuint32 encodingIndex,
    78                                                         XAuint32 encodingIndex,
    69         XAuint32 *pEncoding);
    79                                                         XAuint32 *pEncoding);
       
    80 
    70 
    81 XAresult XAMetadataInsertionItfImpl_InsertMetadataItem(XAMetadataInsertionItf self,
    71 XAresult XAMetadataInsertionItfImpl_InsertMetadataItem(
    82                                                        XAint32 nodeID,
    72         XAMetadataInsertionItf self, XAint32 nodeID, XAMetadataInfo *pKey,
    83                                                        XAMetadataInfo *pKey,
    73         XAMetadataInfo *pValue, XAboolean overwrite);
    84                                                        XAMetadataInfo *pValue,
       
    85                                                        XAboolean overwrite);
       
    86 
    74 
    87 XAresult XAMetadataInsertionItfImpl_RegisterCallback(XAMetadataInsertionItf self,
    75 XAresult XAMetadataInsertionItfImpl_RegisterCallback(
    88                                                      xaMetadataInsertionCallback callback,
    76         XAMetadataInsertionItf self, xaMetadataInsertionCallback callback,
    89                                                      void *pContext);
    77         void *pContext);
    90 
    78 
    91 /* XAMetadataInsertionItfImpl -specific methods */
    79 /* XAMetadataInsertionItfImpl -specific methods */
    92 XAMetadataInsertionItfImpl* XAMetadataInsertionItfImpl_Create(XAMediaRecorderImpl* impl);
    80 XAMetadataInsertionItfImpl* XAMetadataInsertionItfImpl_Create(
    93 void XAMetadataInsertionItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event );
    81         XAMediaRecorderImpl* impl);
       
    82 void XAMetadataInsertionItfImpl_AdaptCb(void *pHandlerCtx,
       
    83         XAAdaptEvent *event);
    94 void XAMetadataInsertionItfImpl_Free(XAMetadataInsertionItfImpl* self);
    84 void XAMetadataInsertionItfImpl_Free(XAMetadataInsertionItfImpl* self);
    95 
    85 
    96 #endif /* XAMETADATAINSERTIONITF_H */
    86 #endif /* XAMETADATAINSERTIONITF_H */