diff -r 80975da52420 -r 43d09473c595 khronosfws/openmax_al/src/engine/xavideodecodercapabilitiesitf.c --- a/khronosfws/openmax_al/src/engine/xavideodecodercapabilitiesitf.c Mon May 03 12:59:52 2010 +0300 +++ b/khronosfws/openmax_al/src/engine/xavideodecodercapabilitiesitf.c Fri May 14 16:22:35 2010 +0300 @@ -23,9 +23,9 @@ #include "xaglobals.h" #include "xavideodecodercapabilitiesitf.h" -#ifdef _GSTREAMER_BACKEND_ -#include "XAStaticCapsAdaptation.h" -#endif +#include "xacapabilitiesmgr.h" + + /* XAVideoDecoderCapabilitiesItfImpl* GetImpl * Description: Validate interface pointer and cast it to implementation pointer. */ @@ -77,16 +77,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_VIDEO, i, &temp); + XACapabilitiesMgr_GetCapsByIdx(NULL, (XACapsType)(XACAP_DECODER|XACAP_VIDEO), i, &temp); pDecoderIds[i] = temp.xaid; } -#endif + } } /* return number of decoders */ @@ -132,24 +132,25 @@ else { /* query capabilities from adaptation using codec id */ -#ifdef _GSTREAMER_BACKEND_ - XAStaticCapsData temp; + + XACapabilities temp; memset(pDescriptor,0,sizeof(XAVideoCodecDescriptor)); - res = XAStaticCapsAdapt_GetCapsById(XACAP_DECODER|XACAP_VIDEO, decoderId, &temp); + res = XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_DECODER|XACAP_VIDEO), decoderId, &temp); if( res == XA_RESULT_SUCCESS ) { + XAVideoCodecDescriptor* desc = (XAVideoCodecDescriptor*)(&temp.pEntry); /* map applicable values to XAVideoCodecCapabilities */ pDescriptor->codecId = temp.xaid; - pDescriptor->maxWidth = temp.maxW; - pDescriptor->maxHeight = temp.maxH; - pDescriptor->maxFrameRate = (temp.maxFR & 0xffff)<<16; - pDescriptor->maxBitRate = temp.maxBR; + pDescriptor->maxWidth = desc->maxWidth; + pDescriptor->maxHeight = desc->maxHeight; + pDescriptor->maxFrameRate = (desc->maxFrameRate & 0xffff)<<16; + pDescriptor->maxBitRate = desc->maxBitRate; /*other caps undefined*/ pDescriptor->rateControlSupported = 0; /* reserved in decoders */ pDescriptor->profileSetting = 0; /* unknown for theora or motionjpeg */ pDescriptor->levelSetting = 0; /* unknown for theora or motionjpeg */ } -#endif + } } } @@ -179,11 +180,11 @@ self->itf.GetVideoDecoderCapabilities = XAVideoDecoderCapabilitiesItfImpl_GetVideoDecoderCapabilities; -#ifdef _GSTREAMER_BACKEND_ + /* init variables */ - assert( XAStaticCapsAdapt_GetCapsCount( XACAP_DECODER|XACAP_VIDEO, + assert( XACapabilitiesMgr_GetCapsCount( NULL, (XACapsType)(XACAP_DECODER|XACAP_VIDEO), &(self->numCodecs) ) == XA_RESULT_SUCCESS ); -#endif + self->self = self; } DEBUG_API("<-XAVideoDecoderCapabilitiesItfImpl_Create");