def _get_streams(self): res = http.get(self.url) playlist = jwplayer.parse_playlist(res) if not playlist: return for item in playlist: streams = map(self._create_stream, item["sources"]) # TODO: Replace with "yield from" when dropping Python 2. for stream in chain.from_iterable(streams): yield stream
def _get_streams(self): res = http.get(self.url) playlist = jwplayer.parse_playlist(res) if not playlist: return for item in playlist: for source in item["sources"]: filename = source["file"] if filename.endswith(".smil"): # TODO: Replace with "yield from" when dropping Python 2. for stream in self._get_smil_streams(filename): yield stream elif filename.startswith("/"): name = source.get("label", "vod") url = BASE_VOD_URL + filename yield name, HTTPStream(self.session, url) break
def _get_streams(self): res = http.get(self.url) playlist = jwplayer.parse_playlist(res) if not playlist: return for item in playlist: for source in item["sources"]: filename = source["file"] if filename.endswith(".smil"): # TODO: Replace with "yield from" when dropping Python 2. for stream in self._get_smil_streams(filename): yield stream elif filename.startswith("/"): name = source.get("label", "vod") url = BASE_VOD_URL + filename yield name, HTTPStream(self.session, url) break