Skip to content

Commit 3b8e6ef

Browse files
committed
stream.hls: remove --hls-segment-ignore-names command
It has some downsides such as `--hls-timeout`, Plugin specified FilteredHLSStream should be used instead. streamlink#3187 --- Afreeca Plugin as an Example streamlink#3408 --- Revert streamlink#1432
1 parent f1f2dc8 commit 3b8e6ef

File tree

4 files changed

+1
-37
lines changed

4 files changed

+1
-37
lines changed

src/streamlink/stream/hls.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import logging
2-
import re
32
import struct
43
from collections import OrderedDict, defaultdict, namedtuple
54
from urllib.parse import urlparse
@@ -40,7 +39,6 @@ def __init__(self, reader, *args, **kwargs):
4039
kwargs["retries"] = options.get("hls-segment-attempts")
4140
kwargs["threads"] = options.get("hls-segment-threads")
4241
kwargs["timeout"] = options.get("hls-segment-timeout")
43-
kwargs["ignore_names"] = options.get("hls-segment-ignore-names")
4442
SegmentedStreamWriter.__init__(self, reader, *args, **kwargs)
4543

4644
self.byterange_offsets = defaultdict(int)
@@ -49,14 +47,6 @@ def __init__(self, reader, *args, **kwargs):
4947
self.key_uri_override = options.get("hls-segment-key-uri")
5048
self.stream_data = options.get("hls-segment-stream-data")
5149

52-
if self.ignore_names:
53-
# creates a regex from a list of segment names,
54-
# this will be used to ignore segments.
55-
self.ignore_names = list(set(self.ignore_names))
56-
self.ignore_names = "|".join(list(map(re.escape, self.ignore_names)))
57-
self.ignore_names_re = re.compile(r"(?:{blacklist})\.ts".format(
58-
blacklist=self.ignore_names), re.IGNORECASE)
59-
6050
def create_decryptor(self, key, sequence):
6151
if key.method != "AES-128":
6252
raise StreamError("Unable to decrypt cipher {0}", key.method)
@@ -116,11 +106,6 @@ def fetch(self, sequence, retries=None):
116106

117107
try:
118108
request_params = self.create_request_params(sequence)
119-
# skip ignored segment names
120-
if self.ignore_names and self.ignore_names_re.search(sequence.segment.uri):
121-
log.debug("Skipping segment {0}".format(sequence.num))
122-
return
123-
124109
return self.session.http.get(sequence.segment.uri,
125110
stream=(self.stream_data
126111
and not sequence.segment.key),

src/streamlink/stream/segmented.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class SegmentedStreamWriter(Thread):
9898
and finally writing the data to the buffer.
9999
"""
100100

101-
def __init__(self, reader, size=20, retries=None, threads=None, timeout=None, ignore_names=None):
101+
def __init__(self, reader, size=20, retries=None, threads=None, timeout=None):
102102
self.closed = False
103103
self.reader = reader
104104
self.stream = reader.stream
@@ -115,7 +115,6 @@ def __init__(self, reader, size=20, retries=None, threads=None, timeout=None, ig
115115

116116
self.retries = retries
117117
self.timeout = timeout
118-
self.ignore_names = ignore_names
119118
self.executor = CompatThreadPoolExecutor(max_workers=threads)
120119
self.futures = queue.Queue(size)
121120

src/streamlink_cli/argparser.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -829,23 +829,6 @@ def build_parser():
829829
830830
Default is 10.0.
831831
""")
832-
transport.add_argument(
833-
"--hls-segment-ignore-names",
834-
metavar="NAMES",
835-
type=comma_list,
836-
help="""
837-
A comma-delimited list of segment names that will not be fetched.
838-
839-
Example: --hls-segment-ignore-names 000,001,002
840-
841-
This will ignore every segment that ends with 000.ts, 001.ts and 002.ts
842-
843-
Default is None.
844-
845-
Note: The --hls-timeout must be increased, to a time that is longer than
846-
the ignored break.
847-
"""
848-
)
849832
transport.add_argument(
850833
"--hls-segment-key-uri",
851834
metavar="URI",

src/streamlink_cli/main.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -772,9 +772,6 @@ def setup_options():
772772
if args.hls_segment_timeout:
773773
streamlink.set_option("hls-segment-timeout", args.hls_segment_timeout)
774774

775-
if args.hls_segment_ignore_names:
776-
streamlink.set_option("hls-segment-ignore-names", args.hls_segment_ignore_names)
777-
778775
if args.hls_segment_key_uri:
779776
streamlink.set_option("hls-segment-key-uri", args.hls_segment_key_uri)
780777

0 commit comments

Comments
 (0)