Media V2 CTS Tests

Current folder comprises of files necessary for testing media extractor, media muxer, media codec SDK and NDK Api. These test aims to test all codecs advertised in MediaCodecList, available muxers and extractors. The aim of these tests is not verify the CDD requirements but to test components, their plugins and their interactions with media framework. The test vectors used by the test suite is available at link and is downloaded automatically while running tests. The test suite looks to cover sdk/ndk api in normal and error scenarios. Error scenarios are seperated from regular usage and are placed under class *UnitTest (MuxerUnitTest, ExtractorUnitTest, ...).

Commands

$ atest android.mediav2.cts
$ atest android.mediav2.cts.CodecEncoderTest android.mediav2.cts.CodecDecoderTest
$ atest android.mediav2.cts.MuxerTest android.mediav2.cts.MuxerUnitTest
$ atest android.mediav2.cts.ExtractorTest android.mediav2.cts.ExtractorUnitTest

Features

All tests accepts attributes that offer selective run of tests. Media codec tests parses the value of key codec-sel to determine the list of components on which the tests are to be tried. Similarly for Media extractor and media muxer parses the value of keys ext-sel and mux-sel to determine the list of components on which the tests are to be tried.

To limit media codec decoder tests to mp3 and vorbis decoder,

adb shell am instrument -w -r  -e codec-sel 'mp3;vorbis'  -e debug false -e class 'android.mediav2.cts.CodecDecoderTest' android.mediav2.cts.test/androidx.test.runner.AndroidJUnitRunner

Appendix

Identifier for codec-selMime
defaultall
vp8mimetype_video_vp8
vp9mimetype_video_vp9
av1mimetype_video_av1
avcmimetype_video_avc
hevcmimetype_video_hevc
mpeg4mimetype_video_mpeg4
h263mimetype_video_h263
mpeg2mimetype_video_mpeg2
vrawmimetype_video_raw
amrnbmimetype_audio_amr_nb
amrwbmimetype_audio_amr_wb
mp3mimetype_audio_mpeg
aacmimetype_audio_aac
vorbismimetype_audio_vorbis
opusmimetype_audio_opus
g711alawmimetype_audio_g711_alaw
g711mlawmimetype_audio_g711_mlaw
arawmimetype_audio_raw
flacmimetype_audio_flac
gsmmimetype_audio_msgsm
Identifier for ext-selExtractor format
mp4Mpeg4
webmMatroska
3gpMpeg4
mkvMatroska
oggOgg
Identifier for mux-selMuxer Format
mp4muxer_output_mpeg4
webmmuxer_output_webm
3gpmuxer_output_3gpp
oggmuxer_output_ogg