diff -r 71ca22bcf22a -r 5a06f39ad45b khronosfws/openmax_al/src/common/xametadataextractionitf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/khronosfws/openmax_al/src/common/xametadataextractionitf.h Fri Apr 16 15:29:42 2010 +0300 @@ -0,0 +1,97 @@ +/* +* Copyright (c) 2009 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: +* +*/ + +#ifndef XAMETADATAEXTRACTIONITF_H +#define XAMETADATAEXTRACTIONITF_H + +#include "openmaxalwrapper.h" +#ifdef _GSTREAMER_BACKEND_ +#include "XAAdaptationContextBase.h" +#include "XAMetadataAdaptation.h" +#endif +/** MACROS **/ + +/** TYPES **/ + +/** ENUMERATIONS **/ + +/** STRUCTURES **/ +/* Definition of XAMetadataExtractionItf implementation */ +typedef struct XAMetadataExtractionItfImpl_ +{ + /* parent interface */ + struct XAMetadataExtractionItf_ itf; + /* pointer to self */ + struct XAMetadataExtractionItfImpl_* self; + + /* variables */ + XAuint32 filteredcount; + XAboolean* tagmatchesfilter; + XAboolean filteringOn; +#ifdef _GSTREAMER_BACKEND_ + XAMetadataImplTagList currentTags; + + XAAdaptationBaseCtx *adaptCtx; +#endif +} XAMetadataExtractionItfImpl; + +/** METHODS **/ + +/* Base interface XAMetadataExtractionItf implementation */ +XAresult XAMetadataExtractionItfImpl_GetItemCount(XAMetadataExtractionItf self, + XAuint32 *pItemCount); + +XAresult XAMetadataExtractionItfImpl_GetKeySize(XAMetadataExtractionItf self, + XAuint32 index, + XAuint32 *pKeySize); + +XAresult XAMetadataExtractionItfImpl_GetKey(XAMetadataExtractionItf self, + XAuint32 index, + XAuint32 keySize, + XAMetadataInfo *pKey); + +XAresult XAMetadataExtractionItfImpl_GetValueSize(XAMetadataExtractionItf self, + XAuint32 index, + XAuint32 *pValueSize); + +XAresult XAMetadataExtractionItfImpl_GetValue(XAMetadataExtractionItf self, + XAuint32 index, + XAuint32 valueSize, + XAMetadataInfo *pValue); + +XAresult XAMetadataExtractionItfImpl_AddKeyFilter(XAMetadataExtractionItf self, + XAuint32 keySize, + const void *pKey, + XAuint32 keyEncoding, + const XAchar *pValueLangCountry, + XAuint32 valueEncoding, + XAuint8 filterMask); + +XAresult XAMetadataExtractionItfImpl_ClearKeyFilter(XAMetadataExtractionItf self); + +#ifdef _GSTREAMER_BACKEND_ +/* XAMetadataExtractionItfImpl -specific methods */ +XAMetadataExtractionItfImpl* XAMetadataExtractionItfImpl_Create( XAAdaptationBaseCtx *adaptCtx); +void XAMetadataExtractionItfImp_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event ); +#endif +void XAMetadataExtractionItfImpl_Free(XAMetadataExtractionItfImpl* self); + +/* internal methods */ +XAresult CheckAndUnfilterIndex(XAMetadataExtractionItfImpl *impl, + XAuint32 oldidx, XAuint32 *newidx); + +#endif /* XAMETADATAEXTRACTIONITF_H */