khronosfws/openmax_al/src/mediarecorder/xamediarecorder.h
changeset 12 5a06f39ad45b
child 16 43d09473c595
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/khronosfws/openmax_al/src/mediarecorder/xamediarecorder.h	Fri Apr 16 15:29:42 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* 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 XAMEDIARECORDER_H
+#define XAMEDIARECORDER_H
+
+#include "openmaxalwrapper.h"
+#include "xaglobals.h"
+#include "xaobjectitf.h"
+#ifdef _GSTREAMER_BACKEND_
+#include "XAMediaRecorderAdaptCtx.h"
+#endif
+#include "xamediarecorderadaptctxmmf.h"
+
+/** MACROS **/
+
+
+/** TYPES **/
+
+
+/** ENUMERATIONS **/
+/* Enumeration for interfaces that MediaRecorder supports.  */
+typedef enum
+{
+    MR_OBJECTITF,
+    MR_AUDIOENCODERITF,
+    MR_CONFIGEXTENSIONITF,
+    MR_DIMITF,
+    MR_EQUALIZERITF,
+    MR_IMAGECONTROLSITF,
+    MR_IMAGEEFFECTSITF,
+    MR_IMAGEENCODERITF,
+    MR_METADATAINSERTIONITF,
+    MR_RECORDITF,
+    MR_SNAPSHOTITF,
+    MR_VIDEOENCODER,
+    MR_VIDEOPOSTPROCESSINGITF,
+    MR_VOLUMEITF,
+    MR_METADATAEXTRACTIONITF,
+    MR_METADATATRAVERSALITF,
+    MR_ITFCOUNT
+} MRInterfaces;
+
+/** STRUCTURES **/
+/* Specification for  MediaRecorderImpl. */
+typedef struct XAMediaRecorderImpl_
+{
+    /* Parent for XAMediaRecorder */
+    XAObjectItfImpl baseObj;
+
+    /* variables */
+    XADataSource *audioSrc;
+    XADataSource *imageVideoSrc;
+    XADataSink *dataSnk;
+    XAuint8 recModes;
+    XAboolean isMMFRecord;    
+
+#ifdef _GSTREAMER_BACKEND_
+    XAAdaptationBaseCtx* adaptationCtx;
+#endif
+    XAAdaptationBaseMMFCtx* adaptationCtxMMF;    
+
+} XAMediaRecorderImpl;
+
+
+/** METHODS **/
+
+/* base object XAObjectItfImpl methods */
+XAresult    XAMediaRecorderImpl_DoRealize(XAObjectItf self);
+XAresult    XAMediaRecorderImpl_DoResume(XAObjectItf self);
+void        XAMediaRecorderImpl_FreeResources(XAObjectItf self);
+
+
+XAresult XAMediaRecorderImpl_DetermineRecordEngine(XAObjectItf self, XADataLocator_URI *uri);
+
+/* MediaRecorderImpl -specific methods*/
+XAresult XAMediaRecorderImpl_DoAddItf(XAObjectItf self, XAObjItfMapEntry *mapEntry  );
+XAresult XAMediaRecorderImpl_DoResumeItf(XAObjectItf self, XAObjItfMapEntry *mapEntry  );
+XAresult XAMediaRecorderImpl_DoRemoveItf(XAObjectItf self, XAObjItfMapEntry *mapEntry );
+
+#endif /* XAMEDIARECORDER_H */