def METHOD_NAME(self):
    if self.matches["player"]:
        data = self._query_player()
    else:
        data = self._query_api()
    if not data:
        return
    hls, dash, progressive, text_tracks, metadata = data
    if metadata:
        self.id, self.author, self.title = metadata
    streams = []
    for url in hls.values():
        streams.extend(HLSStream.parse_variant_playlist(self.session, url).items())
        break
    for url in dash.values():
        p = urlparse(url)
        if p.path.endswith("dash.mpd"):
            # LIVE
            url = self._get_dash_url(url)
        elif p.path.endswith("master.json"):
            # VOD
            url = url.replace("master.json", "master.mpd")
        else:
            log.error(f"Unsupported DASH path: {p.path}")
            continue
        streams.extend(DASHStream.parse_manifest(self.session, url).items())
        break
    streams.extend(
        (quality, HTTPStream(self.session, url))
        for quality, url in progressive or []
    )
    if text_tracks and self.session.get_option("mux-subtitles"):
        substreams = {
            lang: HTTPStream(self.session, urljoin("https://vimeo.com/", url))
            for lang, url in text_tracks
        }
        for quality, stream in streams:
            yield quality, MuxedStream(self.session, stream, subtitles=substreams)
    else:
        yield from streams