khronosfws/openmax_al/src/engine/xaaudiodecodercapabilitiesitf.c
changeset 16 43d09473c595
parent 12 5a06f39ad45b
child 25 6f7ceef7b1d1
--- a/khronosfws/openmax_al/src/engine/xaaudiodecodercapabilitiesitf.c	Mon May 03 12:59:52 2010 +0300
+++ b/khronosfws/openmax_al/src/engine/xaaudiodecodercapabilitiesitf.c	Fri May 14 16:22:35 2010 +0300
@@ -21,10 +21,9 @@
 #include <string.h>
 
 #include "xaglobals.h"
+#include "xaadptbasectx.h"
 #include "xaaudiodecodercapabilitiesitf.h"
-#ifdef _GSTREAMER_BACKEND_  
-#include "XAStaticCapsAdaptation.h"
-#endif
+#include "xacapabilitiesmgr.h"
 /* XAAudioDecoderCapabilitiesItfImpl* GetImpl
  * Description: Validate interface pointer and cast it to implementation pointer.
  */
@@ -74,16 +73,16 @@
             }
             else
             {
-#ifdef _GSTREAMER_BACKEND_  
+ 
             XAuint32 i = 0;
-            XAStaticCapsData temp;
+            XACapabilities temp;
                 for( i=0; i<impl->numCodecs; i++ )
                 {
                     /* query decoder id from adaptation using index value */
-                    XAStaticCapsAdapt_GetCapsByIdx(XACAP_DECODER|XACAP_AUDIO, i, &temp);
+                    XACapabilitiesMgr_GetCapsByIdx(NULL, (XACapsType)(XACAP_DECODER|XACAP_AUDIO), i, &temp);
                     pDecoderIds[i] = temp.xaid;
                 }
-#endif
+
             }
         }
         /* return number of decoders */
@@ -127,30 +126,31 @@
             }
             else
             {
-#ifdef _GSTREAMER_BACKEND_  
+ 
                 /* query capabilities from adaptation using codec id */
-                XAStaticCapsData temp;
+                XACapabilities temp;
                 memset(pDescriptor,0,sizeof(XAAudioCodecDescriptor));
-                res = XAStaticCapsAdapt_GetCapsById(XACAP_DECODER|XACAP_AUDIO, decoderId, &temp);
+                res = XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_DECODER|XACAP_AUDIO), decoderId, &temp);
                 if( res == XA_RESULT_SUCCESS )
                 {
+                    XAAudioCodecDescriptor* desc = ((XAAudioCodecDescriptor*)(temp.pEntry));
                     /* map applicable values to XAAudioCodecCapabilities */
-                    pDescriptor->maxChannels=temp.maxCh;
-                    pDescriptor->minSampleRate=temp.minSR*1000; /* milliHz */
-                    if (temp.maxSR < (0xFFFFFFFF / 1000))
+                    pDescriptor->maxChannels = desc->maxChannels;
+                    pDescriptor->minSampleRate= desc->minSampleRate*1000; /* milliHz */
+                    if (desc->maxSampleRate < (0xFFFFFFFF / 1000))
                     {
-                        pDescriptor->maxSampleRate = temp.maxSR*1000;
+                        pDescriptor->maxSampleRate = desc->maxSampleRate*1000;
                     }
                     else
                     {
                         pDescriptor->maxSampleRate = 0xFFFFFFFF;
                     }
-                    pDescriptor->minBitsPerSample=temp.minBPS;
-                    pDescriptor->maxBitsPerSample=temp.maxBPS;
+                    pDescriptor->minBitsPerSample=desc->minBitsPerSample;
+                    pDescriptor->maxBitsPerSample=desc->maxBitsPerSample;
                     pDescriptor->isFreqRangeContinuous=XA_BOOLEAN_TRUE;
-                    pDescriptor->minBitRate=temp.minBR;
-                    pDescriptor->maxBitRate=temp.maxBR;
-                    pDescriptor->numBitratesSupported = temp.numBitrates;
+                    pDescriptor->minBitRate=desc->minBitRate;
+                    pDescriptor->maxBitRate=desc->maxBitRate;
+                    pDescriptor->numBitratesSupported = desc->numBitratesSupported;
                     pDescriptor->isBitrateRangeContinuous=XA_BOOLEAN_TRUE;
                     if (temp.xaid == XA_AUDIOCODEC_PCM )
                     {
@@ -159,7 +159,7 @@
                     }
                     else if (temp.xaid == XA_ADAPTID_VORBIS) /* for ogg */
                     {
-                        if (temp.maxCh == 1)
+                        if (desc->maxChannels == 1)
                         {
                             pDescriptor->profileSetting=XA_AUDIOPROFILE_MPEG1_L3;
                             pDescriptor->modeSetting=XA_AUDIOCHANMODE_MP3_MONO;
@@ -176,7 +176,7 @@
                     }
                     /*other caps undefined*/
                 }
-#endif                
+                
             }
         }
     }
@@ -209,10 +209,10 @@
             XAAudioDecoderCapabilitiesItfImpl_GetAudioDecoderCapabilities;
 
         /* init variables */
-#ifdef _GSTREAMER_BACKEND_  
-        assert( XAStaticCapsAdapt_GetCapsCount( XACAP_DECODER|XACAP_AUDIO,
+ 
+        assert( XACapabilitiesMgr_GetCapsCount(NULL, (XACapsType)(XACAP_DECODER|XACAP_AUDIO),
                                   &(self->numCodecs) ) == XA_RESULT_SUCCESS );
-#endif
+
         self->self = self;
     }
     DEBUG_API("<-XAAudioDecoderCapabilitiesItfImpl_Create");