CTS10R3/VTS 10R3][Q GO]android.media.cts.MediaCodecCapabilitiesTest#testGetMaxSupportedInstances fail

问题描述

[CTS/VTS 10R3][QGO/512M]
[CTS][cts-on-gsi]
CtsMediaTestCases
android.media.cts.MediaCodecCapabilitiesTest#testGetMaxSupportedInstance
junit.framework.AssertionFailedError: In order to pass the test, please publish following codecs' concurrent instances limit in /etc/media_codecs.xml:
<MediaCodec name="OMX.MTK.AUDIO.DECODER.MP3" type="audio/mpeg" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.aac.decoder" type="audio/mp4a-latm" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.amrnb.decoder" type="audio/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.amrnb.encoder" type="audio/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.amrwb.decoder" type="audio/amr-wb" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.amrwb.encoder" type="audio/amr-wb" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.flac.decoder" type="audio/flac" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.flac.decoder" type="audio/flac" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.flac.encoder" type="audio/flac" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.flac.encoder" type="audio/flac" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.g711.alaw.decoder" type="audio/g711-alaw" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.g711.mlaw.decoder" type="audio/g711-mlaw" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.mp3.decoder" type="audio/mpeg" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.opus.decoder" type="audio/opus" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.opus.encoder" type="audio/opus" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.raw.decoder" type="audio/raw" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.raw.decoder" type="audio/raw" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.vorbis.decoder" type="audio/vorbis" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.aac.encoder" type="audio/mp4a-latm" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.MTK.AUDIO.DECODER.GSM" type="audio/gsm" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" >
    <Limit name="concurrent-instances" max="14" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" >
    <Limit name="concurrent-instances" max="15" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>

解决方案

80 q0.mp1申请patch: ALPS05103211

61/39/37 q0.mp1申请patch: ALPS05150665

合入patch后,用最新版Daily build tool验证

From CTS 10 R4, the maximum number of created instance in testGetMaxSupportedInstance is reduced from 32 to 16

on low ram devices.

To pass CTS, each codec has to add “concurrent instance “ in XML.

For example,

<Included>

<Decoders>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.MP3" type="audio/mpeg" rank="6">

<Quirk name="decoder-lies-about-number-of-channels" />

<Quirk name="supports-multiple-frames-per-input-buffer" />

<Limit name="concurrent-instances" max="16" />

</MediaCodec>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.GSM" type="audio/gsm">

<Limit name="concurrent-instances" max="16" />

</MediaCodec>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.WMA" type="audio/x-ms-wma">

<Limit name="concurrent-instances" max="16" />

</MediaCodec>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.ADPCM.MS" type="audio/x-adpcm-ms">

<Limit name="concurrent-instances" max="16" />

</MediaCodec>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.ADPCM.DVI" type="audio/x-adpcm-dvi-ima">

<Limit name="concurrent-instances" max="16" />

</MediaCodec>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.APE" type="audio/ape">

<Quirk name="decoder-lies-about-number-of-channels" />

<Quirk name="supports-multiple-frames-per-input-buffer" />

<Limit name="concurrent-instances" max="16" />

</MediaCodec>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.ALAC" type="audio/alac">

<Limit name="concurrent-instances" max="16" />

</MediaCodec>

</Decoders>

</Included>

 

bug id:143668757
Google issue google fix
https://android-review.googlesource.com/c/platform/cts/+/1155686/5
MTK uploaded the patch for reference.

 

作者: RESSRC

个人资源站

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据