def METHOD_NAME(video, video_info, external_subtitles=False, embedded_subtitles=False, known_embedded=None,
                           stored_subs=None, languages=None, only_one=False, known_metadata_subs=None,
                           match_strictness="strict"):
    logger.debug(u"Determining existing subtitles for %s", video.name)
    external_langs_found = set()
    # scan for external subtitles
    if known_metadata_subs:
        # existing metadata subtitles
        external_langs_found = known_metadata_subs
    external_langs_found.update(set(search_external_subtitles(video.name, languages=languages,
                                                              only_one=only_one,
                                                              match_strictness=match_strictness).values()))
    # found external subtitles should be considered?
    if external_subtitles:
        # |= is update, thanks plex
        video.subtitle_languages.update(external_langs_found)
        video.external_subtitle_languages.update(external_langs_found)
    else:
        # did we already download subtitles for this?
        if stored_subs and external_langs_found:
            for lang in external_langs_found:
                if has_external_subtitle(video_info["plex_part"].id, stored_subs, lang):
                    logger.info("Not re-downloading subtitle for language %s, it already exists on the filesystem",
                                lang)
                    video.subtitle_languages.add(lang)
    # add known embedded subtitles
    if embedded_subtitles and known_embedded:
        # mp4 and stuff, check burned in
        for language in known_embedded:
            logger.debug('Found embedded subtitle %r', language)
            video.subtitle_languages.add(language)