khronosfws/openmax_al/src/engine/xaaudiodecodercapabilitiesitf.c
changeset 32 94fc26b6e006
parent 31 8dfd592727cb
equal deleted inserted replaced
31:8dfd592727cb 32:94fc26b6e006
   137                     {
   137                     {
   138                     XAAudioCodecDescriptor* desc =
   138                     XAAudioCodecDescriptor* desc =
   139                             ((XAAudioCodecDescriptor*) (temp.pEntry));
   139                             ((XAAudioCodecDescriptor*) (temp.pEntry));
   140                     /* map applicable values to XAAudioCodecCapabilities */
   140                     /* map applicable values to XAAudioCodecCapabilities */
   141                     pDescriptor->maxChannels = desc->maxChannels;
   141                     pDescriptor->maxChannels = desc->maxChannels;
   142                     pDescriptor->minSampleRate = desc->minSampleRate * 1000; /* milliHz */
   142                     pDescriptor->minSampleRate = desc->minSampleRate; /* milliHz */
   143                     if (desc->maxSampleRate < (0xFFFFFFFF / 1000))
   143                     if (desc->maxSampleRate < (0xFFFFFFFF))
   144                         {
   144                         {
   145                         pDescriptor->maxSampleRate = desc->maxSampleRate
   145                         pDescriptor->maxSampleRate = desc->maxSampleRate;
   146                                 * 1000;
       
   147                         }
   146                         }
   148                     else
   147                     else
   149                         {
   148                         {
   150                         pDescriptor->maxSampleRate = 0xFFFFFFFF;
   149                         pDescriptor->maxSampleRate = 0xFFFFFFFF;
   151                         }
   150                         }
   152                     pDescriptor->minBitsPerSample = desc->minBitsPerSample;
   151                     pDescriptor->minBitsPerSample = desc->minBitsPerSample;
   153                     pDescriptor->maxBitsPerSample = desc->maxBitsPerSample;
   152                     pDescriptor->maxBitsPerSample = desc->maxBitsPerSample;
   154                     pDescriptor->isFreqRangeContinuous = XA_BOOLEAN_TRUE;
   153                     pDescriptor->isFreqRangeContinuous=desc->isFreqRangeContinuous;
   155                     pDescriptor->minBitRate = desc->minBitRate;
   154                     pDescriptor->minBitRate = desc->minBitRate;
   156                     pDescriptor->maxBitRate = desc->maxBitRate;
   155                     pDescriptor->maxBitRate = desc->maxBitRate;
   157                     pDescriptor->numBitratesSupported
   156                     pDescriptor->numBitratesSupported
   158                             = desc->numBitratesSupported;
   157                             = desc->numBitratesSupported;
   159                     pDescriptor->isBitrateRangeContinuous = XA_BOOLEAN_TRUE;
   158                     pDescriptor->isBitrateRangeContinuous=desc->isBitrateRangeContinuous;
   160                     if (temp.xaid == XA_AUDIOCODEC_PCM)
   159                     pDescriptor->profileSetting=desc->profileSetting;
   161                         {
   160                     pDescriptor->modeSetting=desc->modeSetting; /* no chanmode for pcm defined */
   162                         pDescriptor->profileSetting = XA_AUDIOPROFILE_PCM;
   161                     
   163                         pDescriptor->modeSetting = 0; /* no chanmode for pcm defined */
   162                     }
   164                         }
       
   165                     else if (temp.xaid == XA_ADAPTID_VORBIS) /* for ogg */
       
   166                         {
       
   167                         if (desc->maxChannels == 1)
       
   168                             {
       
   169                             pDescriptor->profileSetting
       
   170                                     =XA_AUDIOPROFILE_MPEG1_L3;
       
   171                             pDescriptor->modeSetting
       
   172                                     =XA_AUDIOCHANMODE_MP3_MONO;
       
   173                             }
       
   174                         else
       
   175                             {
       
   176                             pDescriptor->profileSetting
       
   177                                     =XA_AUDIOPROFILE_MPEG2_L3;
       
   178                             pDescriptor->modeSetting
       
   179                                     =XA_AUDIOCHANMODE_MP3_STEREO;
       
   180                             }
       
   181                         }
       
   182                     else
   163                     else
   183                         {
   164                         {
   184                         /* do nothing */
   165                         /* do nothing */
   185                         }
   166                         }
   186                     /*other caps undefined*/
   167                     /*other caps undefined*/
   187                     }
   168                     }
   188 
   169 
   189                 }
   170                 }
   190             }
   171             }
   191         }
   172     
   192 
   173 
   193     DEBUG_API("<-XAAudioDecoderCapabilitiesItfImpl_GetAudioDecoderCapabilities");
   174     DEBUG_API("<-XAAudioDecoderCapabilitiesItfImpl_GetAudioDecoderCapabilities");
   194     return res;
   175     return res;
   195     }
   176     }
   196 
   177