The new HLSPlugin auto-detects hlsvariant vs. hls, using either URL
prefix will work for variant and non-variant playlists.
There are some additional tweaks to support functions to support
these changes.
When changing the stream priority using `--stream-types` any stream
types that are not explicitly included are ignored. For example if a
user wants HTTP streams to be preferred and then HLS streams, with the
other stream types in any order they might expect that `--stream-types
"http,hls"` would be sufficient. However, any stream type not included
in this list will be omitted. The default behavior for the
`--stream-types` option means that other types are included.
This commit introduces a wildcard character (`*`), where any stream
type not listed can be matched. For example, to order the streams with
`HTTP`, then `HLS`, then others, the user could specify the
`--stream-types` option as `"http,hls,*"`.
The documentation has been clarified to highlight the fact that other
stream types not listed will be omitted and that a wildcard character
can be used to match the other stream types. The addition of the
wildcard does not change the existing behaviour of `--stream-types`.
This allows developers to use a format string to name the streams,
which allows more descriptive names. eg. {pixels}_{bitrate} can be
used to produce 720p_3500k, 720p_4500k, which is useful if the
streams are available in multiple resolutions at the same bitrate.
This feature can also be used when using the builtin stream plugins,
eg.
```shell
streamlink "hlsvariant://test.se/master.m3u8 name_fmt=\"{pixels}_{bitrate}\""
```
The limitation being that the name string has to be enclosed by `"`
quotes.
* Remove extraneous whitespace.
* Fix non-membership check.
* Add absent indentation for hanging indentation.
* Align closing bracket to match visual indentation.
* Indent to distinguish line from next logical line.
* Fix over-idented lines for visual indentation.
* Fix under-idented lines for visual indentation.
* Fix bare except:
* Remove missing whitespace.
* Fix missing whitespace around arithmetic operator.
* Fix missing whitespace around operator.
* Fix over-indented hanging indentation.
* Remove whitespace around parameter '=' sign.
* Align closing bracket to match opening bracket.
* Fix spacing after comment hash for inline comments.
* Replace tabs with spaces.
* Fix over-indented hanging indentation.
* Fix comparison with boolean.
* Remove extraneous escape of newline.
* Align closing bracket to match opening bracket.
* Make identation multiple of four.
* Fix extraneous whitespace around keywords.
* Put colon-separated compound statement on separate lines.
* Put semicolon-separated compound statement on separate lines.
* Fix extraneous whitespace around keywords.
* Add missing 2 blank lines.
* Remove extra blank lines.
* Put imports on separate lines.
* Fix do not assign a lambda expression check.
* Add missing blank line.
* stream.hds: fix bug where the wrong segment for a fragment was selected
* plugins.adultswim: add support for VOD
* plugins.adultswim: update support for replays of live episodes
plugin.plugin: fix for _alt stream naming
plugin.api.mapper: support mapping function returning a dict, eg. with parse_manifest