khronosfws/openmax_al/src/gst_adaptation/xagstcapabilitiesmgr.c
changeset 25 6f7ceef7b1d1
parent 19 4a629bc82c5e
child 28 ebf79c79991a
--- a/khronosfws/openmax_al/src/gst_adaptation/xagstcapabilitiesmgr.c	Fri May 28 19:26:28 2010 -0500
+++ b/khronosfws/openmax_al/src/gst_adaptation/xagstcapabilitiesmgr.c	Fri Jun 11 19:59:23 2010 -0500
@@ -1,35 +1,40 @@
 /*
-* 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:
-*
-*/
-#include "xagstcapabilitiesmgr.h"
+ * 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: GST Capabilities Mgr. Here you can query the capabilities
+ *               of various GST components and store it in a list.
+ *
+ */
+
 #include <stdio.h>
 #include <string.h>
+#include "xagstcapabilitiesmgr.h"
+#include "xaframeworkmgr.h"
 
-static XAresult XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(XACapabilities **ppNode);
-static XAresult XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(XACapabilities **ppNode);
-static XAresult XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(XACapabilities **ppNode);
+static XAresult XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(
+        XACapabilities **ppNode);
+static XAresult XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(
+        XACapabilities **ppNode);
+static XAresult XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(
+        XACapabilities **ppNode);
 
 /* XAresult XAGSTCapabilitiesMgr_UpdateCapabilitieList
  * Description: Update the capabilities list supported by GStreamer framework.
  */
 XAresult XAGSTCapabilitiesMgr_UpdateCapabilitieList(
-                FrameworkMap *frameworkMap,
-                XACapabilities **ppListHead)
+        FrameworkMap *frameworkMap, XACapabilities **ppListHead)
 
-{
+    {
     XAresult res = XA_RESULT_SUCCESS;
     XACapabilities *newNode = NULL;
     FWMgrFwType fwtype = FWMgrFWUknown;
@@ -39,166 +44,156 @@
 
     DEBUG_API("->XAGSTCapabilitiesMgr_UpdateCapabilitieList");
 
-    if(!frameworkMap || !ppListHead)
-    {
+    if (!frameworkMap || !ppListHead)
+        {
         res = XA_RESULT_PARAMETER_INVALID;
         return res;
-    }
-    
+        }
+
     lastNode = firstNode = *ppListHead;
-    
+
     /* traverse and point to the last node in the list */
-    while(lastNode && lastNode->next)
-    {
+    while (lastNode && lastNode->next)
+        {
         lastNode = lastNode->next;
-    }
-
+        }
 
     uri = "file:///c:/test.mp4";
-    fwtype = XAFrameworkMgr_GetFramework(
-            frameworkMap,
-            uri,
-            FWMgrMORecorder);
-    
-    if(fwtype == FWMgrFWGST)
-    {
-	    /* Add codec capabilities */
-	    newNode = NULL;
-	    res = XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(&newNode);
-	    if (res != XA_RESULT_SUCCESS)
-	        {
-	        return res;
-	        }
-	    if (lastNode)
-	    {
-	        lastNode->next = newNode;
-	    }
-	    if (newNode)
-	    { /* if a new node is created move lastNode to the new item */
-	        if (!firstNode)
-	            firstNode = newNode;
-	        lastNode = newNode;
-	    }
-    }
-    
+    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
+
+    if (fwtype == FWMgrFWGST)
+        {
+        /* Add codec capabilities */
+        newNode = NULL;
+        res = XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(&newNode);
+        if (res != XA_RESULT_SUCCESS)
+            {
+            return res;
+            }
+        if (lastNode)
+            {
+            lastNode->next = newNode;
+            }
+        if (newNode)
+            { /* if a new node is created move lastNode to the new item */
+            if (!firstNode)
+                firstNode = newNode;
+            lastNode = newNode;
+            }
+        }
 
     uri = "file:///c:/test.amr";
-    fwtype = XAFrameworkMgr_GetFramework(
-            frameworkMap,
-            uri,
-            FWMgrMORecorder);
-    
-    if(fwtype == FWMgrFWGST)
-    {
-	    newNode = NULL;
-	    res = XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(&newNode);
-	    if (res != XA_RESULT_SUCCESS)
-	        {
-	        return res;
-	        }
-	    if (lastNode)
-	    {
-	        lastNode->next = newNode;
-	    }
-	    if (newNode)
-	    { /* if a new node is created move lastNode to the new item */
-	        if (!firstNode)
-	            firstNode = newNode;
-	        lastNode = newNode;
-	    }
-    }
+    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
+
+    if (fwtype == FWMgrFWGST)
+        {
+        newNode = NULL;
+        res = XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(&newNode);
+        if (res != XA_RESULT_SUCCESS)
+            {
+            return res;
+            }
+        if (lastNode)
+            {
+            lastNode->next = newNode;
+            }
+        if (newNode)
+            { /* if a new node is created move lastNode to the new item */
+            if (!firstNode)
+                firstNode = newNode;
+            lastNode = newNode;
+            }
+        }
 
     uri = "file:///c:/test.wav";
-    fwtype = XAFrameworkMgr_GetFramework(
-            frameworkMap,
-            uri,
-            FWMgrMORecorder);
-    
-    if(fwtype == FWMgrFWGST)
-    {
-	    newNode = NULL;
-	    res = XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(&newNode);
-	    if (res != XA_RESULT_SUCCESS)
-	        {
-	        return res;
-	        }
-	    if (lastNode)
-	    {
-	        lastNode->next = newNode;
-	    }
-	    if (newNode)
-	    { /* if a new node is created move lastNode to the new item */
-	        if (!firstNode)
-	            firstNode = newNode;
-	        lastNode = newNode;
-	    }
-    }
+    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
+
+    if (fwtype == FWMgrFWGST)
+        {
+        newNode = NULL;
+        res = XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(&newNode);
+        if (res != XA_RESULT_SUCCESS)
+            {
+            return res;
+            }
+        if (lastNode)
+            {
+            lastNode->next = newNode;
+            }
+        if (newNode)
+            { /* if a new node is created move lastNode to the new item */
+            if (!firstNode)
+                firstNode = newNode;
+            lastNode = newNode;
+            }
+        }
     /* if empty list, then append first node as the head */
     if (!(*ppListHead))
         {
         *ppListHead = firstNode;
-        }
-    DEBUG_API("<-XAGSTCapabilitiesMgr_UpdateCapabilitieList");
+        }DEBUG_API("<-XAGSTCapabilitiesMgr_UpdateCapabilitieList");
     return res;
-}
+    }
 
-XAresult XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(XACapabilities **ppNode)
-{
+XAresult XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(
+        XACapabilities **ppNode)
+    {
     XAresult res = XA_RESULT_SUCCESS;
     XACapabilities *newNode = NULL;
     XAAudioCodecDescriptor *entries = NULL;
     XAchar aacencelement[] = "nokiaaacenc";
     int strLen = 0;
-    
-    newNode = (XACapabilities *)calloc(1, sizeof(XACapabilities));
+
+    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
     if (!newNode)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         return res;
-    }
+        }
 
     newNode->capsType = AUD_E;
     newNode->xaid = XA_AUDIOCODEC_AAC;
     newNode->noOfEntries = 1;
-    
-    
-    strLen = strlen((char*)aacencelement);
-    newNode->adaptId = (XAchar *)calloc(strLen + 1, sizeof(XAchar));    
+
+    strLen = strlen((char*) aacencelement);
+    newNode->adaptId = (XAchar *) calloc(strLen + 1, sizeof(XAchar));
     if (!newNode->adaptId)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
 
-    strncpy((char*)newNode->adaptId, (char*)aacencelement, strLen);
+    strncpy((char*) newNode->adaptId, (char*) aacencelement, strLen);
     newNode->adaptId[strLen] = '\0'; /*Null terminate it*/
-    
+
     /* Allocate array */
-    entries = (XAAudioCodecDescriptor*)calloc(1, sizeof(XAAudioCodecDescriptor));
+    entries = (XAAudioCodecDescriptor*) calloc(1,
+            sizeof(XAAudioCodecDescriptor));
     if (!entries)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
 
-    newNode->pEntry = (void*)entries;
- 
+    newNode->pEntry = (void*) entries;
+
     entries->maxChannels = 2;
     entries->minBitsPerSample = 16;
     entries->maxBitsPerSample = 16;
-    entries->minSampleRate = 8000000;  /*milliHz*/
+    entries->minSampleRate = 8000000; /*milliHz*/
     entries->maxSampleRate = 48000000;
-    entries->isFreqRangeContinuous=XA_BOOLEAN_FALSE;
+    entries->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
     entries->numSampleRatesSupported = 7;
-    entries->pSampleRatesSupported = (XAmilliHertz*)calloc(entries->numSampleRatesSupported, sizeof(XAmilliHertz));
+    entries->pSampleRatesSupported = (XAmilliHertz*) calloc(
+            entries->numSampleRatesSupported, sizeof(XAmilliHertz));
     if (!entries->pSampleRatesSupported)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
     /* entries in milliHz */
     entries->pSampleRatesSupported[0] = 8000000;
     entries->pSampleRatesSupported[1] = 11025000;
@@ -212,13 +207,14 @@
     entries->maxBitRate = 256000;
     entries->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
     entries->numBitratesSupported = 8;
-    entries->pBitratesSupported = (XAuint32*)calloc(entries->numBitratesSupported, sizeof(XAuint32));
+    entries->pBitratesSupported = (XAuint32*) calloc(
+            entries->numBitratesSupported, sizeof(XAuint32));
     if (!entries->pBitratesSupported)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
     (entries->pBitratesSupported)[0] = 32000;
     (entries->pBitratesSupported)[1] = 64000;
     (entries->pBitratesSupported)[2] = 96000;
@@ -231,58 +227,61 @@
     entries->profileSetting = XA_AUDIOPROFILE_AAC_AAC;
     entries->modeSetting = XA_AUDIOMODE_AAC_LC;
 
-    newNode->pEntry = (void*)entries;
+    newNode->pEntry = (void*) entries;
 
     *ppNode = newNode;
     return res;
-}
+    }
 
-XAresult XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(XACapabilities **ppNode)
-{
+XAresult XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(
+        XACapabilities **ppNode)
+    {
     XAresult res = XA_RESULT_SUCCESS;
     XACapabilities *newNode = NULL;
     XAAudioCodecDescriptor *entries = NULL;
- 
-    newNode = (XACapabilities *)calloc(1, sizeof(XACapabilities));
+
+    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
     if (!newNode)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         return res;
-    }
+        }
 
     newNode->capsType = AUD_E;
     newNode->xaid = XA_AUDIOCODEC_AMR;
     newNode->noOfEntries = 1;
 
     /* Allocate array */
-    entries = (XAAudioCodecDescriptor*)calloc(1, sizeof(XAAudioCodecDescriptor));
+    entries = (XAAudioCodecDescriptor*) calloc(1,
+            sizeof(XAAudioCodecDescriptor));
     if (!entries)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
 
-    newNode->pEntry = (void*)entries;
- 
+    newNode->pEntry = (void*) entries;
+
     entries->maxChannels = 1;
     entries->minBitsPerSample = 8;
     entries->maxBitsPerSample = 8;
-    entries->minSampleRate = 8000000;  /*milliHz*/
+    entries->minSampleRate = 8000000; /*milliHz*/
     entries->maxSampleRate = 8000000;
-    entries->isFreqRangeContinuous=XA_BOOLEAN_TRUE;
+    entries->isFreqRangeContinuous = XA_BOOLEAN_TRUE;
     entries->numSampleRatesSupported = 1;
-    entries->minBitRate=4750;
-    entries->maxBitRate=12200;
-    entries->isBitrateRangeContinuous=XA_BOOLEAN_FALSE;
+    entries->minBitRate = 4750;
+    entries->maxBitRate = 12200;
+    entries->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
     entries->numBitratesSupported = 8;
-    entries->pBitratesSupported = (XAuint32*)calloc(entries->numBitratesSupported, sizeof(XAuint32));
+    entries->pBitratesSupported = (XAuint32*) calloc(
+            entries->numBitratesSupported, sizeof(XAuint32));
     if (!entries->pBitratesSupported)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
     (entries->pBitratesSupported)[0] = 4750;
     (entries->pBitratesSupported)[1] = 5150;
     (entries->pBitratesSupported)[2] = 5900;
@@ -295,54 +294,57 @@
     entries->profileSetting = XA_AUDIOPROFILE_AMR;
     entries->modeSetting = 0;
 
-    newNode->pEntry = (void*)entries;
+    newNode->pEntry = (void*) entries;
 
     *ppNode = newNode;
     return res;
-}
+    }
 
-XAresult XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(XACapabilities **ppNode)
-{
+XAresult XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(
+        XACapabilities **ppNode)
+    {
     XAresult res = XA_RESULT_SUCCESS;
     XACapabilities *newNode = NULL;
     XAAudioCodecDescriptor *entries = NULL;
 
-    newNode = (XACapabilities *)calloc(1, sizeof(XACapabilities));
+    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
     if (!newNode)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         return res;
-    }
+        }
 
     newNode->capsType = AUD_E;
     newNode->xaid = XA_AUDIOCODEC_PCM;
     newNode->noOfEntries = 1;
 
     /* Allocate array */
-    entries = (XAAudioCodecDescriptor*)calloc(1, sizeof(XAAudioCodecDescriptor));
+    entries = (XAAudioCodecDescriptor*) calloc(1,
+            sizeof(XAAudioCodecDescriptor));
     if (!entries)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
 
-    newNode->pEntry = (void*)entries;
+    newNode->pEntry = (void*) entries;
 
     entries->maxChannels = 2;
     entries->minBitsPerSample = 16;
     entries->maxBitsPerSample = 16;
-    entries->minSampleRate = 8000000;  /*milliHz*/
+    entries->minSampleRate = 8000000; /*milliHz*/
     entries->maxSampleRate = 96000000;
-    entries->isFreqRangeContinuous=XA_BOOLEAN_FALSE;
+    entries->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
     entries->numSampleRatesSupported = 10;
-    entries->pSampleRatesSupported = (XAmilliHertz*)calloc(entries->numSampleRatesSupported, sizeof(XAmilliHertz));
+    entries->pSampleRatesSupported = (XAmilliHertz*) calloc(
+            entries->numSampleRatesSupported, sizeof(XAmilliHertz));
     if (!entries->pSampleRatesSupported)
-    {
+        {
         res = XA_RESULT_MEMORY_FAILURE;
         XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
         return res;
-    }
+        }
     /* entries in milliHz */
     entries->pSampleRatesSupported[0] = 12000000;
     entries->pSampleRatesSupported[1] = 16000000;
@@ -363,8 +365,8 @@
     entries->profileSetting = XA_AUDIOPROFILE_PCM;
     entries->modeSetting = 0;
 
-    newNode->pEntry = (void*)entries;
+    newNode->pEntry = (void*) entries;
 
     *ppNode = newNode;
     return res;
-}
+    }