khronosfws/openmax_al/src/camera/xacameradevice.c
changeset 16 43d09473c595
parent 12 5a06f39ad45b
--- a/khronosfws/openmax_al/src/camera/xacameradevice.c	Mon May 03 12:59:52 2010 +0300
+++ b/khronosfws/openmax_al/src/camera/xacameradevice.c	Fri May 14 16:22:35 2010 +0300
@@ -26,6 +26,9 @@
 #include "xaimageeffectsitf.h"
 #include "xavideopostprocessingitf.h"
 #include "xathreadsafety.h"
+#include "xaframeworkmgr.h"
+#include "xacameraadaptctx.h"
+#include "xacapabilitiesmgr.h"
 
 /* Static mapping of enumeration XACameraDeviceInterfaces to interface iids */
 static const XAInterfaceID* XACameraDeviceItfIIDs[CAMERA_ITFCOUNT]=
@@ -47,7 +50,9 @@
 /* XAResult XACameraDeviceImpl_Create
  * Description: Create object
  */
-XAresult XACameraDeviceImpl_CreateCameraDevice(XAObjectItf* pDevice,
+XAresult XACameraDeviceImpl_CreateCameraDevice(FrameworkMap* mapper,
+                                                XACapabilities* capabilities,   
+                                               XAObjectItf* pDevice,
                                                XAuint32 deviceID,
                                                XAuint32 numInterfaces,
                                                const XAInterfaceID * pInterfaceIds,
@@ -130,34 +135,26 @@
     /* Mandated dynamic itfs */
     pBaseObj->interfaceMap[CAMERA_IMAGEEFFECTSITF].isDynamic = XA_BOOLEAN_TRUE;
 
-
-    /* Initialize XACameraDeviceImpl variables */
-    pImpl->deviceID = deviceID;
-#ifdef _GSTREAMER_BACKEND_   
-    pImpl->adaptationCtx = XACameraAdapt_Create(pImpl->deviceID);
-#endif
-    
-    
     /* This code is put here to return Feature Not Supported since adaptation is not present*/
     /*************************************************/
     XAObjectItfImpl_Destroy((XAObjectItf)&(pBaseObj));
     XA_IMPL_THREAD_SAFETY_EXIT(XATSCamera);
     DEBUG_ERR("Required interface not found - abort creation!");
     DEBUG_API("<-XACameraDeviceImpl_Create");
-    return XA_RESULT_FEATURE_UNSUPPORTED;    
+    return XA_RESULT_FEATURE_UNSUPPORTED;
     /*************************************************/
-
     
-    
-    
-    /* Set ObjectItf to point to newly created object */
-/*
+/*     Initialize XACameraDeviceImpl variables 
+    pImpl->deviceID = deviceID;
+
+    pImpl->adaptationCtx = XACameraAdapt_Create(pImpl->deviceID);
+
+     Set ObjectItf to point to newly created object 
     *pDevice = (XAObjectItf)&(pBaseObj->self);
 
     XA_IMPL_THREAD_SAFETY_EXIT(XATSCamera);
     DEBUG_API("<-XACameraDeviceImpl_Create");
-    return XA_RESULT_SUCCESS;
-*/
+    return XA_RESULT_SUCCESS;*/
 }
 
 /* XAResult XACameraDeviceImpl_QueryNumSupportedInterfaces
@@ -234,9 +231,9 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
 
-#ifdef _GSTREAMER_BACKEND_   
+ 
     ret = XACameraAdapt_PostInit( pObjImpl->adaptationCtx );
-#endif
+
     if( ret != XA_RESULT_SUCCESS )
     {
         XA_IMPL_THREAD_SAFETY_EXIT(XATSCamera);
@@ -264,7 +261,7 @@
                                 XACameraDeviceImpl_DoRemoveItf);
                     }
                     break;
-#ifdef _GSTREAMER_BACKEND_   
+  
                 case CAMERA_CAMERAITF:
                     pItf = XACameraItfImpl_Create( pObjImpl->adaptationCtx );
                     break;
@@ -280,7 +277,7 @@
                 case CAMERA_VIDEOPOSTPROCESSINGITF:
                      pItf = XAVideoPostProcessingItfImpl_Create( pObjImpl->adaptationCtx );
                      break;
-#endif                     
+                  
                 default:
                     break;
             }
@@ -323,12 +320,12 @@
 {
     XAObjectItfImpl* pObj = (XAObjectItfImpl*)(*self);
     XAuint8 itfIdx = 0;
+    XACameraDeviceImpl* pImpl = (XACameraDeviceImpl*)(*self);
+    assert( pObj && pImpl && pObj == pObj->self );
     DEBUG_API("->XACameraDeviceImpl_FreeResources");
     XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS(XATSCamera);
-#ifdef _GSTREAMER_BACKEND_ 
-    XACameraDeviceImpl* pImpl = (XACameraDeviceImpl*)(*self);
-    assert( pObj && pImpl && pObj == pObj->self );
-#endif
+    
+
     
 
     /* free all allocated interfaces */
@@ -363,13 +360,13 @@
             pObj->interfaceMap[itfIdx].pItf = NULL;
         }
     }
-#ifdef _GSTREAMER_BACKEND_   
+  
     if ( pImpl->adaptationCtx != NULL )
     {
         XACameraAdapt_Destroy( pImpl->adaptationCtx );
         pImpl->adaptationCtx = NULL;
     }
-#endif
+
     XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS(XATSCamera);
     DEBUG_API("<-XACameraDeviceImpl_FreeResources");
     return;
@@ -384,10 +381,10 @@
  */
 XAresult XACameraDeviceImpl_DoAddItf(XAObjectItf self, XAObjItfMapEntry *mapEntry  )
 {
-#ifdef _GSTREAMER_BACKEND_
+
     XAObjectItfImpl* pObj = (XAObjectItfImpl*)(*self);
     XACameraDeviceImpl* pImpl = (XACameraDeviceImpl*)(pObj);
-#endif
+
     XAresult ret = XA_RESULT_SUCCESS;
     DEBUG_API("->XACameraDeviceImpl_DoAddItf");
     if(mapEntry)
@@ -395,9 +392,7 @@
         switch( mapEntry->mapIdx )
         {
         case CAMERA_IMAGEEFFECTSITF:
-#ifdef _GSTREAMER_BACKEND_   
             mapEntry->pItf = XAImageEffectsItfImpl_Create( pImpl->adaptationCtx );
-#endif
             break;
         default:
             DEBUG_ERR("XACameraDeviceImpl_DoAddItf unknown id");