|
17 | 17 | from streamlink.stream import (
|
18 | 18 | HTTPStream, HLSStream, FLVPlaylist, extract_flv_header_tags
|
19 | 19 | )
|
20 |
| -from streamlink.stream.hls import HLSStreamReader, HLSStreamWriter, HLSStreamWorker |
| 20 | +from streamlink.stream.hls import HLSStreamWorker |
| 21 | +from streamlink.stream.hls_filtered import FilteredHLSStreamWriter, FilteredHLSStreamReader |
21 | 22 | from streamlink.stream.hls_playlist import M3U8Parser, load as load_hls_playlist
|
22 | 23 | from streamlink.utils.times import hours_minutes_seconds
|
23 | 24 |
|
@@ -199,13 +200,12 @@ def process_sequences(self, playlist, sequences):
|
199 | 200 | return super(TwitchHLSStreamWorker, self).process_sequences(playlist, sequences)
|
200 | 201 |
|
201 | 202 |
|
202 |
| -class TwitchHLSStreamWriter(HLSStreamWriter): |
203 |
| - def write(self, sequence, *args, **kwargs): |
204 |
| - if not (self.stream.disable_ads and sequence.segment.ad): |
205 |
| - return super(TwitchHLSStreamWriter, self).write(sequence, *args, **kwargs) |
| 203 | +class TwitchHLSStreamWriter(FilteredHLSStreamWriter): |
| 204 | + def should_filter_sequence(self, sequence): |
| 205 | + return self.stream.disable_ads and sequence.segment.ad |
206 | 206 |
|
207 | 207 |
|
208 |
| -class TwitchHLSStreamReader(HLSStreamReader): |
| 208 | +class TwitchHLSStreamReader(FilteredHLSStreamReader): |
209 | 209 | __worker__ = TwitchHLSStreamWorker
|
210 | 210 | __writer__ = TwitchHLSStreamWriter
|
211 | 211 |
|
|
0 commit comments