docs(Track): Remove unnecessary comments

This commit is contained in:
rlaphoenix 2024-03-01 03:33:19 +00:00
parent bd90bd6dca
commit 6e9f977642
1 changed files with 1 additions and 15 deletions

View File

@ -63,15 +63,11 @@ class Track:
raise TypeError(f"Expected drm to be an iterable, not {type(drm)}") raise TypeError(f"Expected drm to be an iterable, not {type(drm)}")
self.url = url self.url = url
# required basic metadata
self.language = Language.get(language) self.language = Language.get(language)
self.is_original_lang = bool(is_original_lang) self.is_original_lang = bool(is_original_lang)
# optional io metadata
self.descriptor = descriptor self.descriptor = descriptor
self.needs_repack = bool(needs_repack) self.needs_repack = bool(needs_repack)
# drm
self.drm = drm self.drm = drm
# extra data
self.edition: str = edition self.edition: str = edition
self.extra: Any = extra or {} # allow anything for extra, but default to a dict self.extra: Any = extra or {} # allow anything for extra, but default to a dict
@ -97,7 +93,6 @@ class Track:
# Called before the Track is multiplexed # Called before the Track is multiplexed
self.OnMultiplex: Optional[Callable] = None self.OnMultiplex: Optional[Callable] = None
# should only be set internally
self.path: Optional[Path] = None self.path: Optional[Path] = None
def __repr__(self) -> str: def __repr__(self) -> str:
@ -148,7 +143,6 @@ class Track:
if not isinstance(init_data, bytes): if not isinstance(init_data, bytes):
raise TypeError(f"Expected init_data to be bytes, not {init_data!r}") raise TypeError(f"Expected init_data to be bytes, not {init_data!r}")
# try get via ffprobe, needed for non mp4 data e.g. WEBM from Google Play
probe = ffprobe(init_data) probe = ffprobe(init_data)
if probe: if probe:
for stream in probe.get("streams") or []: for stream in probe.get("streams") or []:
@ -156,14 +150,12 @@ class Track:
if enc_key_id: if enc_key_id:
return UUID(bytes=base64.b64decode(enc_key_id)) return UUID(bytes=base64.b64decode(enc_key_id))
# look for track encryption mp4 boxes
for tenc in get_boxes(init_data, b"tenc"): for tenc in get_boxes(init_data, b"tenc"):
if tenc.key_ID.int != 0: if tenc.key_ID.int != 0:
return tenc.key_ID return tenc.key_ID
# look for UUID mp4 boxes holding track encryption mp4 boxes
for uuid_box in get_boxes(init_data, b"uuid"): for uuid_box in get_boxes(init_data, b"uuid"):
if uuid_box.extended_type == UUID("8974dbce-7be7-4c51-84f9-7148f9882554"): if uuid_box.extended_type == UUID("8974dbce-7be7-4c51-84f9-7148f9882554"): # tenc
tenc = uuid_box.data tenc = uuid_box.data
if tenc.key_ID.int != 0: if tenc.key_ID.int != 0:
return tenc.key_ID return tenc.key_ID
@ -208,9 +200,6 @@ class Track:
if not url: if not url:
if self.descriptor != self.Descriptor.URL: if self.descriptor != self.Descriptor.URL:
# We cannot know which init map from the HLS or DASH playlist is actually used.
# For DASH this could be from any adaptation set, any period, e.t.c.
# For HLS we could make some assumptions, but it's best that it is explicitly provided.
raise ValueError(f"An explicit URL must be provided for {self.descriptor.name} tracks") raise ValueError(f"An explicit URL must be provided for {self.descriptor.name} tracks")
if not self.url: if not self.url:
raise ValueError("An explicit URL must be provided as the track has no URL") raise ValueError("An explicit URL must be provided as the track has no URL")
@ -234,7 +223,6 @@ class Track:
if "Content-Length" in size_test.headers: if "Content-Length" in size_test.headers:
content_length_header = int(size_test.headers["Content-Length"]) content_length_header = int(size_test.headers["Content-Length"])
if content_length_header > 0: if content_length_header > 0:
# use whichever is smaller in case this is a large file
content_length = min(content_length_header, maximum_size) content_length = min(content_length_header, maximum_size)
range_test = session.head(url, headers={"Range": "bytes=0-1"}) range_test = session.head(url, headers={"Range": "bytes=0-1"})
if range_test.status_code == 206: if range_test.status_code == 206:
@ -250,8 +238,6 @@ class Track:
res.raise_for_status() res.raise_for_status()
init_data = res.content init_data = res.content
else: else:
# Take advantage of streaming support to take just the first n bytes
# This is a hacky alternative to HTTP's Range on unsupported servers
init_data = None init_data = None
with session.get(url, stream=True) as s: with session.get(url, stream=True) as s:
for chunk in s.iter_content(content_length): for chunk in s.iter_content(content_length):