diff -r 80975da52420 -r 43d09473c595 khronosfws/openmax_al/src/engine/xaaudiodecodercapabilitiesitf.c --- 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 #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; inumCodecs; 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");