[extractor/common] Simplify _extract_m3u8_formats
This commit is contained in:
		| @@ -1201,8 +1201,8 @@ class InfoExtractor(object): | |||||||
|                 'protocol': entry_protocol, |                 'protocol': entry_protocol, | ||||||
|                 'preference': preference, |                 'preference': preference, | ||||||
|             }] |             }] | ||||||
|         last_info = None |         last_info = {} | ||||||
|         last_media = None |         last_media = {} | ||||||
|         for line in m3u8_doc.splitlines(): |         for line in m3u8_doc.splitlines(): | ||||||
|             if line.startswith('#EXT-X-STREAM-INF:'): |             if line.startswith('#EXT-X-STREAM-INF:'): | ||||||
|                 last_info = parse_m3u8_attributes(line) |                 last_info = parse_m3u8_attributes(line) | ||||||
| @@ -1232,17 +1232,13 @@ class InfoExtractor(object): | |||||||
|             elif line.startswith('#') or not line.strip(): |             elif line.startswith('#') or not line.strip(): | ||||||
|                 continue |                 continue | ||||||
|             else: |             else: | ||||||
|                 if last_info is None: |  | ||||||
|                     formats.append({'url': format_url(line)}) |  | ||||||
|                     continue |  | ||||||
|                 tbr = int_or_none(last_info.get('AVERAGE-BANDWIDTH') or last_info.get('BANDWIDTH'), scale=1000) |                 tbr = int_or_none(last_info.get('AVERAGE-BANDWIDTH') or last_info.get('BANDWIDTH'), scale=1000) | ||||||
|                 format_id = [] |                 format_id = [] | ||||||
|                 if m3u8_id: |                 if m3u8_id: | ||||||
|                     format_id.append(m3u8_id) |                     format_id.append(m3u8_id) | ||||||
|                 last_media_name = last_media.get('NAME') if last_media else None |  | ||||||
|                 # Despite specification does not mention NAME attribute for |                 # Despite specification does not mention NAME attribute for | ||||||
|                 # EXT-X-STREAM-INF it still sometimes may be present |                 # EXT-X-STREAM-INF it still sometimes may be present | ||||||
|                 stream_name = last_info.get('NAME') or last_media_name |                 stream_name = last_info.get('NAME') or last_media.get('NAME') | ||||||
|                 # Bandwidth of live streams may differ over time thus making |                 # Bandwidth of live streams may differ over time thus making | ||||||
|                 # format_id unpredictable. So it's better to keep provided |                 # format_id unpredictable. So it's better to keep provided | ||||||
|                 # format_id intact. |                 # format_id intact. | ||||||
| @@ -1275,6 +1271,7 @@ class InfoExtractor(object): | |||||||
|                 f.update(parse_codecs(last_info.get('CODECS'))) |                 f.update(parse_codecs(last_info.get('CODECS'))) | ||||||
|                 formats.append(f) |                 formats.append(f) | ||||||
|                 last_info = {} |                 last_info = {} | ||||||
|  |                 last_media = {} | ||||||
|         return formats |         return formats | ||||||
|  |  | ||||||
|     @staticmethod |     @staticmethod | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․