khronosfws/openmax_al/src/mediarecorder/xarecorditf.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: Record Itf Impl
    15 *
    15  *
    16 */
    16  */
    17 
    17 
    18 #ifndef XARECORDITF_H
    18 #ifndef XARECORDITF_H
    19 #define XARECORDITF_H
    19 #define XARECORDITF_H
    20 
    20 
    21 #include "openmaxalwrapper.h"
    21 #include "openmaxalwrapper.h"
    33 /** ENUMERATIONS **/
    33 /** ENUMERATIONS **/
    34 
    34 
    35 /** STRUCTURES **/
    35 /** STRUCTURES **/
    36 /* Definition of XARecordItf implementation */
    36 /* Definition of XARecordItf implementation */
    37 typedef struct XARecordItfImpl_
    37 typedef struct XARecordItfImpl_
    38 {
    38     {
    39     /* parent interface */
    39     /* parent interface */
    40     struct XARecordItf_ itf;
    40     struct XARecordItf_ itf;
    41     /* pointer to self */
    41     /* pointer to self */
    42     struct XARecordItfImpl_* self;
    42     struct XARecordItfImpl_* self;
    43 
    43 
    44     XAMediaRecorderImpl* pObjImpl;
    44     XAMediaRecorderImpl* pObjImpl;
    45     /* variables */
    45     /* variables */
    46     XAuint32        recordState;
    46     XAuint32 recordState;
    47     XAboolean       durationLimitSetted;
    47     XAboolean durationLimitSetted;
    48     XAmillisecond   durationLimit;
    48     XAmillisecond durationLimit;
    49     XAmillisecond   markerPosition;
    49     XAmillisecond markerPosition;
    50     XAmillisecond   positionUpdatePeriod;
    50     XAmillisecond positionUpdatePeriod;
    51     void            *cbcontext;
    51     void *cbcontext;
    52     XAuint32        eventFlags;
    52     XAuint32 eventFlags;
    53     XAboolean       positionupdateOn;
    53     XAboolean positionupdateOn;
    54     XAmillisecond   lastPosition;
    54     XAmillisecond lastPosition;
    55 
    55 
    56     xaRecordCallback callback;
    56     xaRecordCallback callback;
    57     void*            context;
    57     void* context;
    58     XARecordItf      cbPtrToSelf;
    58     XARecordItf cbPtrToSelf;
    59 
    59 
    60     /*Adaptation variables*/
    60     /*Adaptation variables*/
    61     XAAdaptationBaseCtx *adapCtx;
    61     XAAdaptationBaseCtx *adapCtx;
    62 
    62 
    63 } XARecordItfImpl;
    63     } XARecordItfImpl;
    64 
    64 
    65 /** METHODS **/
    65 /** METHODS **/
    66 
    66 
    67 /* Base interface XARecordItf implementation
    67 /* Base interface XARecordItf implementation
    68  * See API Specification for method documentation
    68  * See API Specification for method documentation
    69  */
    69  */
    70 XAresult XARecordItfImpl_SetRecordState( XARecordItf self,
    70 XAresult XARecordItfImpl_SetRecordState(XARecordItf self, XAuint32 state);
    71                                          XAuint32 state );
       
    72 
    71 
    73 XAresult XARecordItfImpl_GetRecordState( XARecordItf self,
    72 XAresult XARecordItfImpl_GetRecordState(XARecordItf self, XAuint32 *pState);
    74                                          XAuint32 *pState );
       
    75 
    73 
    76 XAresult XARecordItfImpl_SetDurationLimit( XARecordItf self,
    74 XAresult XARecordItfImpl_SetDurationLimit(XARecordItf self,
    77                                            XAmillisecond msec );
    75         XAmillisecond msec);
    78 
    76 
    79 XAresult XARecordItfImpl_GetPosition( XARecordItf self,
    77 XAresult XARecordItfImpl_GetPosition(XARecordItf self, XAmillisecond *pMsec);
    80                                       XAmillisecond *pMsec );
       
    81 
    78 
    82 XAresult XARecordItfImpl_RegisterCallback( XARecordItf self,
    79 XAresult XARecordItfImpl_RegisterCallback(XARecordItf self,
    83                                            xaRecordCallback callback,
    80         xaRecordCallback callback, void *pContext);
    84                                            void *pContext );
       
    85 
    81 
    86 XAresult XARecordItfImpl_SetCallbackEventsMask( XARecordItf self,
    82 XAresult XARecordItfImpl_SetCallbackEventsMask(XARecordItf self,
    87                                                 XAuint32 eventFlags );
    83         XAuint32 eventFlags);
    88 
    84 
    89 XAresult XARecordItfImpl_GetCallbackEventsMask( XARecordItf self,
    85 XAresult XARecordItfImpl_GetCallbackEventsMask(XARecordItf self,
    90                                                 XAuint32 *pEventFlags );
    86         XAuint32 *pEventFlags);
    91 
    87 
    92 XAresult XARecordItfImpl_SetMarkerPosition( XARecordItf self,
    88 XAresult XARecordItfImpl_SetMarkerPosition(XARecordItf self,
    93                                             XAmillisecond mSec );
    89         XAmillisecond mSec);
    94 
    90 
    95 XAresult XARecordItfImpl_ClearMarkerPosition( XARecordItf self );
    91 XAresult XARecordItfImpl_ClearMarkerPosition(XARecordItf self);
    96 
    92 
    97 XAresult XARecordItfImpl_GetMarkerPosition( XARecordItf self,
    93 XAresult XARecordItfImpl_GetMarkerPosition(XARecordItf self,
    98                                             XAmillisecond *pMsec );
    94         XAmillisecond *pMsec);
    99 
    95 
   100 XAresult XARecordItfImpl_SetPositionUpdatePeriod( XARecordItf self,
    96 XAresult XARecordItfImpl_SetPositionUpdatePeriod(XARecordItf self,
   101                                                   XAmillisecond mSec );
    97         XAmillisecond mSec);
   102 
    98 
   103 XAresult XARecordItfImpl_GetPositionUpdatePeriod( XARecordItf self,
    99 XAresult XARecordItfImpl_GetPositionUpdatePeriod(XARecordItf self,
   104                                                   XAmillisecond *pMsec );
   100         XAmillisecond *pMsec);
   105 
   101 
   106 /* XARecordItfImpl -specific methods */
   102 /* XARecordItfImpl -specific methods */
   107 XARecordItfImpl* XARecordItfImpl_Create( XAMediaRecorderImpl* impl );
   103 XARecordItfImpl* XARecordItfImpl_Create(XAMediaRecorderImpl* impl);
   108 void XARecordItfImpl_Free( XARecordItfImpl* self );
   104 void XARecordItfImpl_Free(XARecordItfImpl* self);
   109 void XARecordItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event );
   105 void XARecordItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event);
   110 
   106 
   111 #endif
   107 #endif
   112  /* XARECORDITF_H */
   108 /* XARECORDITF_H */