MKV_CONTENT_TYPE mkvgenGetContentTypeFromContentTypeTokenString()

in src/mkvgen/src/MkvGenerator.c [804:849]


MKV_CONTENT_TYPE mkvgenGetContentTypeFromContentTypeTokenString(PCHAR contentTypeToken, UINT32 tokenLen)
{
    UINT32 typeStrLen;

    // Quick check if anything needs to be done
    if (tokenLen == 0 || contentTypeToken == NULL || *contentTypeToken == '\0') {
        return MKV_CONTENT_TYPE_NONE;
    }

    typeStrLen = (UINT32) STRLEN(MKV_H264_CONTENT_TYPE);
    if ((typeStrLen == tokenLen) && (0 == STRNCMP(contentTypeToken, MKV_H264_CONTENT_TYPE, tokenLen))) {
        return MKV_CONTENT_TYPE_H264;
    }

    typeStrLen = (UINT32) STRLEN(MKV_AAC_CONTENT_TYPE);
    if ((typeStrLen == tokenLen) && (0 == STRNCMP(contentTypeToken, MKV_AAC_CONTENT_TYPE, tokenLen))) {
        return MKV_CONTENT_TYPE_AAC;
    }

    typeStrLen = (UINT32) STRLEN(MKV_ALAW_CONTENT_TYPE);
    if ((typeStrLen == tokenLen) && (0 == STRNCMP(contentTypeToken, MKV_ALAW_CONTENT_TYPE, tokenLen))) {
        return MKV_CONTENT_TYPE_ALAW;
    }

    typeStrLen = (UINT32) STRLEN(MKV_MULAW_CONTENT_TYPE);
    if ((typeStrLen == tokenLen) && (0 == STRNCMP(contentTypeToken, MKV_MULAW_CONTENT_TYPE, tokenLen))) {
        return MKV_CONTENT_TYPE_MULAW;
    }

    typeStrLen = (UINT32) STRLEN(MKV_H265_CONTENT_TYPE);
    if ((typeStrLen == tokenLen) && (0 == STRNCMP(contentTypeToken, MKV_H265_CONTENT_TYPE, tokenLen))) {
        return MKV_CONTENT_TYPE_H265;
    }

    typeStrLen = (UINT32) STRLEN(MKV_X_MKV_VIDEO_CONTENT_TYPE);
    if ((typeStrLen == tokenLen) && (0 == STRNCMP(contentTypeToken, MKV_X_MKV_VIDEO_CONTENT_TYPE, tokenLen))) {
        return MKV_CONTENT_TYPE_X_MKV_VIDEO;
    }

    typeStrLen = (UINT32) STRLEN(MKV_X_MKV_AUDIO_CONTENT_TYPE);
    if ((typeStrLen == tokenLen) && (0 == STRNCMP(contentTypeToken, MKV_X_MKV_AUDIO_CONTENT_TYPE, tokenLen))) {
        return MKV_CONTENT_TYPE_X_MKV_AUDIO;
    }

    return MKV_CONTENT_TYPE_UNKNOWN;
}