khronosfws/openmax_al/src/engine/xaaudioencodercapabilitiesitf.c
changeset 28 ebf79c79991a
parent 25 6f7ceef7b1d1
child 33 5e8b14bae8c3
--- a/khronosfws/openmax_al/src/engine/xaaudioencodercapabilitiesitf.c	Fri Jun 11 19:59:23 2010 -0500
+++ b/khronosfws/openmax_al/src/engine/xaaudioencodercapabilitiesitf.c	Fri Jun 25 17:36:03 2010 -0500
@@ -133,112 +133,7 @@
 
     /* query capabilities from adaptation using codec id */
     memset(pDescriptor, 0, sizeof(XAAudioCodecDescriptor));
-
-    switch (encoderId)
-        {
-        case XA_AUDIOCODEC_AMR:
-            {
-            impl->sampleRateArray[0] = 8000000;
-
-            impl->bitRateArray[0] = 4750;
-            impl->bitRateArray[1] = 5150;
-            impl->bitRateArray[2] = 5900;
-            impl->bitRateArray[3] = 6700;
-            impl->bitRateArray[4] = 7400;
-            impl->bitRateArray[5] = 7950;
-            impl->bitRateArray[6] = 10200;
-            impl->bitRateArray[7] = 12200;
-
-            pDescriptor->maxChannels = 1;
-            pDescriptor->minBitsPerSample = 8;
-            pDescriptor->maxBitsPerSample = 8;
-            pDescriptor->minSampleRate = 8000000; /*milliHz*/
-            pDescriptor->maxSampleRate = 8000000;
-            pDescriptor->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
-            pDescriptor->pSampleRatesSupported
-                    = (XAmilliHertz*) (&(impl->sampleRateArray));
-            pDescriptor->numSampleRatesSupported = 1;
-            pDescriptor->minBitRate = 4750;
-            pDescriptor->maxBitRate = 12200;
-            pDescriptor->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
-            pDescriptor->pBitratesSupported
-                    = (XAuint32*) (&(impl->bitRateArray));
-            pDescriptor->numBitratesSupported = 8;
-            pDescriptor->profileSetting = XA_AUDIOPROFILE_AMR;
-            pDescriptor->modeSetting = 0;
-            }
-            break;
-        case XA_AUDIOCODEC_AAC:
-            {
-            impl->sampleRateArray[0] = 8000000;
-            impl->sampleRateArray[1] = 11025000;
-            impl->sampleRateArray[2] = 16000000;
-            impl->sampleRateArray[3] = 22050000;
-            impl->sampleRateArray[4] = 32000000;
-            impl->sampleRateArray[5] = 44100000;
-            impl->sampleRateArray[6] = 48000000;
-
-            impl->bitRateArray[0] = 32000;
-            impl->bitRateArray[1] = 64000;
-            impl->bitRateArray[2] = 96000;
-            impl->bitRateArray[3] = 128000;
-            impl->bitRateArray[4] = 160000;
-            impl->bitRateArray[5] = 192000;
-            impl->bitRateArray[6] = 224000;
-            impl->bitRateArray[7] = 256000;
-
-            pDescriptor->maxChannels = 2;
-            pDescriptor->minBitsPerSample = 16;
-            pDescriptor->maxBitsPerSample = 16;
-            pDescriptor->minSampleRate = 8000 * 1000; /*milliHz*/
-            pDescriptor->maxSampleRate = 48000 * 1000;
-            pDescriptor->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
-            pDescriptor->pSampleRatesSupported
-                    = (XAmilliHertz*) (&(impl->sampleRateArray));
-            pDescriptor->numSampleRatesSupported = 7;
-            pDescriptor->minBitRate = 32000;
-            pDescriptor->maxBitRate = 256000;
-            pDescriptor->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
-            pDescriptor->pBitratesSupported
-                    = (XAuint32*) (&(impl->bitRateArray));
-            pDescriptor->numBitratesSupported = 8;
-            pDescriptor->profileSetting = XA_AUDIOPROFILE_AAC_AAC;
-            pDescriptor->modeSetting = XA_AUDIOMODE_AAC_LC;
-            }
-            break;
-        case XA_AUDIOCODEC_PCM:
-            {
-            impl->sampleRateArray[0] = 12000000;
-            impl->sampleRateArray[1] = 16000000;
-            impl->sampleRateArray[2] = 22050000;
-            impl->sampleRateArray[3] = 24000000;
-            impl->sampleRateArray[4] = 32000000;
-            impl->sampleRateArray[5] = 44100000;
-            impl->sampleRateArray[6] = 48000000;
-            impl->sampleRateArray[7] = 64000000;
-            impl->sampleRateArray[8] = 88200000;
-            impl->sampleRateArray[9] = 96000000;
-
-            pDescriptor->maxChannels = 2;
-            pDescriptor->minBitsPerSample = 16;
-            pDescriptor->maxBitsPerSample = 16;
-            pDescriptor->minSampleRate = 8000000; /*milliHz*/
-            pDescriptor->maxSampleRate = 96000000;
-            pDescriptor->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
-            pDescriptor->pSampleRatesSupported
-                    = (XAmilliHertz*) (&(impl->sampleRateArray));
-            pDescriptor->numSampleRatesSupported = 10;
-            pDescriptor->minBitRate = 0;
-            pDescriptor->maxBitRate = 0;
-            pDescriptor->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
-            pDescriptor->pBitratesSupported = NULL;
-            pDescriptor->numBitratesSupported = 0;
-            pDescriptor->profileSetting = XA_AUDIOPROFILE_PCM;
-            pDescriptor->modeSetting = 0;
-            }
-            break;
-        }
-
+ 
     res = XACapabilitiesMgr_GetCapsById(impl->capslist,
             (XACapsType) (XACAP_ENCODER | XACAP_AUDIO), encoderId, &temp);
     if (res == XA_RESULT_SUCCESS)
@@ -247,10 +142,10 @@
                 ((XAAudioCodecDescriptor*) (temp.pEntry));
         /* map applicable values to XAAudioCodecCapabilities */
         pDescriptor->maxChannels = desc->maxChannels;
-        pDescriptor->minSampleRate = desc->minSampleRate * 1000; /* milliHz */
-        if (desc->maxSampleRate < (0xFFFFFFFF / 1000))
+        pDescriptor->minSampleRate = desc->minSampleRate ; /* milliHz */
+        if (desc->maxSampleRate < (0xFFFFFFFF))
             {
-            pDescriptor->maxSampleRate = desc->maxSampleRate * 1000;
+            pDescriptor->maxSampleRate = desc->maxSampleRate;
             }
         else
             {
@@ -258,36 +153,21 @@
             }
         pDescriptor->minBitsPerSample = desc->minBitsPerSample;
         pDescriptor->maxBitsPerSample = desc->maxBitsPerSample;
-        pDescriptor->isFreqRangeContinuous = XA_BOOLEAN_TRUE;
+      pDescriptor->isFreqRangeContinuous=desc->isFreqRangeContinuous;
         pDescriptor->minBitRate = desc->minBitRate;
         pDescriptor->maxBitRate = desc->maxBitRate;
         pDescriptor->numBitratesSupported = desc->numBitratesSupported;
-        pDescriptor->isBitrateRangeContinuous = XA_BOOLEAN_TRUE;
-        if (temp.xaid == XA_AUDIOCODEC_PCM)
-            {
-            pDescriptor->profileSetting = XA_AUDIOPROFILE_PCM;
-            pDescriptor->modeSetting = 0; /* no chanmode for pcm defined */
-            }
-        else if (temp.xaid == XA_ADAPTID_VORBIS) /* for ogg */
-            {
-            if (desc->maxChannels == 1)
-                {
-                pDescriptor->profileSetting = XA_AUDIOPROFILE_MPEG1_L3;
-                pDescriptor->modeSetting = XA_AUDIOCHANMODE_MP3_MONO;
-                }
-            else
-                {
-                pDescriptor->profileSetting = XA_AUDIOPROFILE_MPEG2_L3;
-                pDescriptor->modeSetting = XA_AUDIOCHANMODE_MP3_STEREO;
-                }
-            }
-        else
-            {
-            /* do nothing */
-            }
-
-        }
-
+      pDescriptor->isBitrateRangeContinuous=desc->isBitrateRangeContinuous;
+      pDescriptor->profileSetting=desc->profileSetting;
+      pDescriptor->modeSetting=desc->modeSetting; /* no chanmode for pcm defined */
+    }
+      else
+      {
+          /* do nothing */
+      }
+      
+    
+   	
     DEBUG_API("<-XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoderCapabilities");
     return res;
     }