// for frameworks/av/media
{
    "presubmit-large": [
        // runs whenever we change something in this tree
        {
            "name": "CtsMediaCodecTestCases",
            "options": [
                {
                    "include-filter": "android.media.codec.cts.EncodeDecodeTest"
                }
            ]
        },
        {
            "name": "CtsMediaCodecTestCases",
            "options": [
                {
                    "include-filter": "android.media.codec.cts.DecodeEditEncodeTest"
                }
            ]
        }
    ],
    "presubmit": [
        {
            "name": "GtsMediaTestCases",
            "options" : [
                {
                    "include-annotation": "android.platform.test.annotations.Presubmit"
                },
                {
                    "include-filter": "com.google.android.media.gts.WidevineGenericOpsTests"
                },
                {
                    "include-filter": "com.google.android.media.gts.WidevineH264PlaybackTests"
                }
            ]
        }
    ],

    "imports": [
        {
            "path": "frameworks/av/drm/mediadrm/plugins"
        }
    ],

    "platinum-postsubmit": [
        // runs regularly, independent of changes in this tree.
        // signals if changes elsewhere break media functionality
        {
            "name": "CtsMediaCodecTestCases",
            "options": [
                {
                    "include-filter": "android.media.codec.cts.EncodeDecodeTest"
                }
            ]
        },
        {
            "name": "CtsMediaCodecTestCases",
            "options": [
                {
                    "include-filter": "android.media.codec.cts.DecodeEditEncodeTest"
                }
            ]
        }
    ]
}
