openmaxil_plat/test_api/inc/omxilsymbianbuffersextensions.h
changeset 0 0e4a32b9112d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/openmaxil_plat/test_api/inc/omxilsymbianbuffersextensions.h	Wed Aug 25 12:40:50 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2008 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: 
+*
+*/
+
+
+/**
+   @file
+   @internalComponent
+*/
+
+#ifndef OMXILSYMBIANBUFFERSOURCEEXTENSIONS_H
+#define OMXILSYMBIANBUFFERSOURCEEXTENSIONS_H
+
+#include <openmax/il/khronos/v1_x/OMX_Types.h>
+
+/**
+ * The string that the Symbian's OpenMAX IL Buffer components will
+ * translate into a 32-bit OpenMAX IL index to support the message queue communication
+ * with user client
+ */
+#if 1
+const char sOmxSymbianBufferMsgQueue [] = "OMX.SYMBIAN.INDEX.PARAM.BUFFERMSGQUEUE";
+#endif
+const char sOmxSymbianBufferSize[] = "OMX.SYMBIAN.INDEX.PARAM.BUFFERSIZE";
+const char sOmxSymbianBufferChunk[] = "OMX.SYMBIAN.INDEX.PARAM.BUFFERCHUNK";
+
+/*
+ * Custom index used by Symbian's OpenMAX IL Buffers to select the
+ * structure for getting message queue global names
+ * 
+ * Vendor specific structures should be in the range of 0x7F000000 to 0x7FFFFFFE.
+ * This range is not broken out by vendor, so private indexes are not guaranteed unique 
+ * and therefore should only be sent to the appropriate component.
+ */
+#if 1
+#define OMX_SymbianIndexParamBufferMsgQueueData 0x7F000006 // TBC
+#endif
+#define OMX_SymbianIndexParamBufferSize 0x7F000007
+#define OMX_SymbianIndexParam3PlaneBufferChunk 0x7F000008
+
+#if 1 
+/**
+ * Custom OpenMAX IL structure to be used as a container for message queue global names
+ */
+struct OMX_SYMBIAN_PARAM_BUFFER_MSGQUEUE
+	{
+    OMX_U32 nSize;                 /**< Size of this structure, in Bytes */
+    OMX_VERSIONTYPE nVersion;      /**< OMX specification version information */
+    OMX_U32 nPortIndex;            /**< Port that this structure applies to */
+    OMX_PTR pBufSrcComponentHandles;	/** This is a pointer to TBufSrcComponentHandles */
+	};
+#endif
+
+/**
+ Custom OpenMAX IL structure used as container for buffer size on RChunk backed buffers
+ */
+
+struct OMX_SYMBIAN_PARAM_BUFFER_SIZE
+	{
+	OMX_U32 nSize;				/**< Size of this structure, in Bytes */
+	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
+	OMX_U32 nPortIndex;			/**< Port that this structure applies to */
+	OMX_S32 nBufferSize;		/**< Buffer size in bytes */
+	};
+
+struct OMX_SYMBIAN_PARAM_3PLANE_CHUNK_DATA
+	{
+	OMX_U32 nSize;                 /**< Size of this structure, in Bytes */
+	OMX_VERSIONTYPE nVersion;      /**< OMX specification version information */
+	OMX_U32 nPortIndex;	           /**< Port that this structure applies to */
+	OMX_U32 nChunk;	               /**< Chunk */
+	OMX_U32 nFilledBufferQueue;	   /**< FilledBufferQueue */
+	OMX_U32 nAvailableBufferQueue; /**< AVailableBufferQueue */	
+	OMX_U64 nThreadId;             /**< The thread which creates the chunk */
+	};
+
+#endif // OMXILSYMBIANBUFFERSOURCEEXTENSIONS_H